Questions tagged «delphi-xe2»

1
用于Delphi XE的SOAP服务器和客户端应用程序VCL + indy演示?
Delphi曾经包括用于Web服务的demos文件夹,但似乎不再包括它。 我只是尝试了Delphi 7演示项目(SOAPDMServerWAD一个完全没有UI的服务器,并且SOAPDMClient),但即使在Delphi 7中也无法使其正常运行。 如果有人曾经在Delphi XE或Delphi 2010中进行过类似的演示工作SOAPDMServerWAD+SoapDMClient,而与在Delphi XE中进行工作的旧演示相同,并且至少具有来自Delphi SOAP Server应用程序向导的最小UI,那将是完美的。 更新:该演示在Delphi 2010之前一直出现,但是使用了已经过时的WAD(web-app-debugger),我试图将其移植到新的Indy上runtime/web-app-development-harnessing-code,但是我似乎无法使其正常工作。该演示已运行,但该服务器没有用户界面,并且似乎没有运行任何HTTP服务器(已通过http://localhost:port/url 使用常规Web浏览器进行了测试。顺便说一下,尝试谷歌搜索一个演示,此URL出现,并且我不到一个小时前问,谷歌,这真是吓人。 Update2请参阅下面的我自己的答案,有关工作代码的链接即将发布。

2
如何在Firemonkey中创建“不激活”表单
在XCode中,通过将以下方法添加到您的NSView子类中可以防止在单击窗口时激活该窗口: - (BOOL)shouldDelayWindowOrderingForEvent:(NSEvent )theEvent { return YES; } - (BOOL)acceptsFirstMouse:(NSEvent )theEvent { return YES; } - (void)mouseDown:(NSEvent )theEvent { [[[NSApp]] preventWindowOrdering]; } 在Windows平台上,可以通过以下简单代码完成: HWND hWnd = FindWindowW((String("FM") + fmxForm->ClassName()).c_str(), fmxForm->Caption.c_str()); SetWindowLong(hWnd, GWL_EXSTYLE, GetWindowLong(hWnd, GWL_EXSTYLE) | WS_EX_NOACTIVATE); 如何在单击NSView时将其子类化,以防止其激活? 如何在firemonkey中创建“ 不激活 ”表单?

1
使用Delphi XML数据绑定向导时不存在必需的标签
我正在使用XML Data Binding Wizardin Delphi XE2。模式具有此类型的必需标记: <xs:element name="MyReport" type="MyReportType" /> <xs:complexType name="MyReportType"> <xs:all> <xs:element name="Header" type="HeaderType" /> <xs:element name="Values" type="ValuesType" /> <xs:element name="Events" type="EventsType" /> </xs:all> </xs:complexType> 问题是,如果我不向Values-group等添加任何元素,则不会有<Values>-tag,并且XML文件将无法针对进行验证XSD。如果接口提供了一种“添加” Values-tag 的方法,那么这可能不会成为问题。 是否有处理此问题的标准方法,还是我在错误地使用生成的代码? 简单地说,有没有任何办法,变通或以其它方式使用从代码Data Binding Wizard,生成以下XML(这是使用上述模式时,有没有子节点需要什么来验证),给出HeaderType,ValuesType并EventsType有复杂类型的: <MyReport> <Header /> <Values /> <Events /> </MyReport> (我知道还有其他类似的问题,例如通过<xs:sequence>在最终XML文件中不强制执行正确的顺序而生成的代码,但至少对于该问题,存在一种解决方法,只需按正确的顺序插入子代即可。我仍然认为如果Embarcadero能提供一个完整的界面,并考虑更多这些功能,那就太好了。)
99 xml  delphi  xsd  delphi-xe2 

2
使用Delphi XE2在MacOS中不显示Webview
我已经开始转换Webview接口以在Delphi中使用。我设法加载了Webkit库,并且调用的接口方法似乎正常工作,但是,我似乎无法在主窗体上显示Webview。 下面是我声明的接口 WebFrameClass = interface(NSObjectClass) ['{7BE750C8-DFEC-4870-851A-12DBCB0B78F6}'] end; WebFrame = interface(NSObject) ['{BCFA04BE-41AB-4B78-89C0-3330F12C7695}'] procedure loadRequest(request: NSURLRequest); cdecl; end; TWebFrame = class(TOCGenericImport<WebFrameClass, WebFrame>) end; WebViewClass = interface(NSViewClass) ['{0D9F44B7-09FD-4E35-B96E-8DB71B9A2537}'] {class} function canShowMIMEType(MIMEType: NSString): Boolean; cdecl; end; WebView = interface(NSView) ['{C36D8016-2FCB-49F0-BA1C-C9913A37F9AC}'] procedure clos; cdecl; procedure setHostWindow(hostWindow: NSWindow); cdecl; function initWithFrame(frame: NSRect; frameName: NSString; groupName: NSString): …

1
BcdDivide函数在Delphi XE和XE2中的行为不同
FmtBcd.pas已在Delphi XE2中进行了广泛的修订和重写。在我的一个项目中,我有一个案例,对两个Bcd值使用除法运算,但是两个版本产生不同的结果。在最坏的情况下,Delphi XE2可能会抛出Bcd overflow error。 示例:在Delphi XE2控制台应用程序中运行以下代码: var A, B, C, D: TBcd; begin A := StrToBcd('1'); B := StrToBcd('3'); BcdDivide(A, B, C); WriteLn(BcdToStr(C)); try BcdMultiply(C, C, D); WriteLn(BcdToStr(D)); except on E: Exception do WriteLn(E.Message); end; ReadLn; end. 上面的输出将是: 0.333333333333333333333333333333333333333333333333333333333333333 BCD overflow 该变量C包含一个Bcd值,其特异性为63个小数位。BcdMultiply对变量执行第二次操作C将导致Bcd overflow error。 但是,在Delphi XE中运行相同的代码会产生以下结果,而不会出现任何异常提示: 0.3333333333 0.11111111108888888889 任何人都可以提出解决该问题的最佳实践方法吗?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.