カスタムコンポーネントをドラッグ&ドロップすることはできません:私はVCLとFMXの上にそれらを使用することができます。このようにDelphiは、私はIDEのためのいくつかのコンポーネントを書かれており、それらすべてがこのようになり
unit xxx;
interface
uses
System.Classes, System.SysUtils;
type
TMyClass = class(TComponent)
//code...
end;
implementation
end.
。つまり、コンポーネントを使用するVCL winプログラムとFMX Androidアプリを作ることができます。表示されないコードはクラスの実装ですが、それは重要ではありません。
- VCLプロジェクトを開始すると、コンポーネントをドラッグ&ドロップして使用できます。
- FMX win32プロジェクトを開始すると、コンポーネントをドラッグ&ドロップして使用できます。プラットフォームをAndroidに切り替えると、コンポーネントはまだそこにあり、私は成功してコンパイルできます。ところで、私はコンポーネントをドラッグ/ドロップすることはできません。どうして?私はこの を取得し、私はプラットフォームを変更する場合は
(言うアンドロイド):
はポイント2では、私はFMXのWin32で私はこのようなコンポーネントを持っていることを意味します
私は間違って何をしていますか?私はIDE>ツール>オプション>ライブラリに行き、各プラットフォームに対して、IDEがソースを持つ.pasを見つけることができるパスを追加しました。何か案が?
私のコンポーネントでAndroidアプリケーションを作成できるようにするには、プラットフォームをwin32に変更してコンポーネントをドラッグアンドドロップしてからAndroidに戻す必要があるということです。このコンポーネントはAndroidでもうまく機能します。
type
[ComponentPlatformsAttribute(pidWin32 or pidAndroid)]
TTestComponent = class(TComponent)
//...
end;
このようにあなたがからコンポーネントをドラッグ&ドロップすることができます:あなたは、この属性を使用するusureことが、その後System.Classes
を含める必要があります(まだ、私が見ることができるものからそれを持っている)と
あなたは 'TLang'コンポーネントを意味します – Sami
数値クラスを非ビジュアルコンポーネントとして実装するのは大変な誤りです。 'TObject'から派生させてあなたの問題をすべて解決してください。 –
あなたは[Views](http://docwiki.embarcadero.com/RADStudio/ja/Using_FireMonkey_Views)を利用していますか?マスタービューまたはAndroidビューにコンポーネントをドロップしていますか?また、['ComponentPlatforms'](http://docwiki.embarcadero.com/Libraries/en/System.Classes.ComponentPlatformsAttribute)属性でコンポーネントにマークを付けることで、コンポーネントが実際にサポートしているプラットフォームをIDEが知るようにする必要があります。 –