我已经写了一些组件为IDE自定义组件,他们都看起来像这样:Delphi不能拖放
unit xxx;
interface
uses
System.Classes, System.SysUtils;
type
TMyClass = class(TComponent)
//code...
end;
implementation
end.
这样,我可以用它们在VCL和FMX;换句话说,我可以制作使用我的组件的VCL win程序和FMX Android应用程序。你看不到的代码是类的实现,但这并不重要。
- 当我启动一个VCL项目时,我可以拖放我的组件并使用它们。
- 当我启动一个FMX win32项目时,我可以拖放/删除我的组件并使用它们。如果我将平台切换到Android,组件仍然存在,我可以成功编译。顺便说一下,我不能拖/拖组件。为什么?
在2点我的意思是,根据FMX的Win32我有这样的组件:
如果我改变的平台(比如机器人)我得到这个
我在做什么错?我进入了IDE> Tools> Options> Library,并且为每个平台添加了IDE可以在其中找到.pas的路径。任何想法?
奇怪的是,在FMX下,如果我想用我的组件创建一个Android应用程序,我必须将平台更改为win32,然后拖放组件,然后切换回Android。该组件在Android上的效果也非常好。
Mybe你的意思是'TLang'组件 – Sami
将数字类实现为非可视化组件仍然是一个巨大的错误。通过从'TObject'派生来解决所有的问题。 –
您是否正在使用[Views](http://docwiki.embarcadero.com/RADStudio/en/Using_FireMonkey_Views)?你是否将组件拖放到主视图或Android视图上?此外,您应该使用['ComponentPlatforms'](http://docwiki.embarcadero.com/Libraries/en/System.Classes.ComponentPlatformsAttribute)属性标记组件,以便IDE知道组件实际支持哪个平台。 –