クラスの持っているフィールド情報に合わせてデータベースを作成し、そのフィールド情報を保存してくれるコンポーネントを作ろうとしています。
動的にクラスが持っているフィールド名やプロパティ名を調べてそのデータを読み書きするにはどうすればいいのでしょうか?
Delphiのバージョンはなんでしょうか。
ファイル名や、定義の位置がバージョンによって違ったと思います。
Delphi5では、dsgnintf.pasに、TPropertyEditorとその派生クラスがあります。
これを使ってできると思います。
Delphi6 Enterprise + UPdata2 です。
usesにdsgnintfを入れると、
------------------------------------------------------------
[致命的エラー] Form_JuliusTime.pas(43): ファイル 'dsgnintf.dcu' が見つかりません
------------------------------------------------------------
となってしまうのですが、このpasはこれだけでは見れないのでしょうか?
Delphi6ではTPropertyEditorをヘルプで見ると、ユニットは
DesignEditors となっています。
これをusesに加えてもpasが見つからないと出てしまいます。
ファイルを検索しても見つからないのですが、
普通はそのpasは何処に入ってるのでしょうか。
見つかりました。
$(Delphi)\Source\ToolsApi
にあることがわかりました。
これでTPropertyEditorをつかって試してみます。
その上でわからないことがあったらまた投稿させていただきます。
にしのさん、どうもありがとうございました。
押し忘れ。
ツイート | ![]() |