看着新的Delphi XE2和Firemonkey。考虑到它可以编译Windows、Mac OSX和iOS,VCL组件在FireMonkey应用程序中是无用的。
我的问题是:是否有/将会有一个Indy Firemonkey版本?因为我严重需要IdHTTP.Post();
。如果没有,有没有一种方法在FireMonkey中实现这个功能?
我已经谷歌了相当长的一段时间,什么也没找到。:S
看着新的Delphi XE2和Firemonkey。考虑到它可以编译Windows、Mac OSX和iOS,VCL组件在FireMonkey应用程序中是无用的。
我的问题是:是否有/将会有一个Indy Firemonkey版本?因为我严重需要IdHTTP.Post();
。如果没有,有没有一种方法在FireMonkey中实现这个功能?
我已经谷歌了相当长的一段时间,什么也没找到。:S
VCL
是指 Visual Component Library
,其中并没有关于“可在运行时看到的”(也就是“视觉上的”)的内容,所以“FireMonkey
应用程序中的 VCL 组件无用”的说法与 Indy
没有关系。
你可以在 Delphi XE2
中创建一个新的 FireMonkey HD
应用程序,将其定向到 OS X
,在 IDE 中仍然可以使用 Indy
组件页面,这意味着它们与支持的 FireMonkey
跨平台目标兼容。它们也适用于 FireMonkey HD
Windows 目标 (32 位和 64 位)。
关于FireMonkey,Indy可以在其中工作。 Indy使用给定平台上的本地套接字API(在Windows上使用WinSock,在Mac上使用Posix,在Kylix上使用libc等)。
在目前的FireMonkey下,Indy唯一已知的问题是TIdAntiFreeze
组件无法在设计时可用。由于包装方式的非标准化,IDE无法正确解析它(将在Indy 11中解决)。但是,您可以在运行时以编程方式实例化它。
Application.ProcessMessages
的方式都是让应用程序“正常工作”的非常弱的方法。对于小型个人工具或模型,TIdAntiFreeze
可能是理想的选择,但不建议在专业构建中使用。使用线程始终是阻塞组件的理想解决方案。 - Jerry DodgeiOS应用程序中未使用的组件 DocWiki页面列出了大多数Indy类,适用于Delphi XE2:
以下列表是一组组件(以及所使用的单元),这些组件可能在iOS应用程序的工具箱中可用,但不支持iOS应用程序。