クラスのフィールド名、プロパティ名を動的に知るには?

解決


しゅう  2003-03-09 10:32:25  No: 3114  IP: [192.*.*.*]

クラスの持っているフィールド情報に合わせてデータベースを作成し、そのフィールド情報を保存してくれるコンポーネントを作ろうとしています。
  動的にクラスが持っているフィールド名やプロパティ名を調べてそのデータを読み書きするにはどうすればいいのでしょうか?

編集    削除
にしの  2003-03-09 13:45:17  No: 3115  IP: [192.*.*.*]

Delphiのバージョンはなんでしょうか。
ファイル名や、定義の位置がバージョンによって違ったと思います。

Delphi5では、dsgnintf.pasに、TPropertyEditorとその派生クラスがあります。
これを使ってできると思います。

編集    削除
しゅう  2003-03-09 15:46:08  No: 3116  IP: [192.*.*.*]

Delphi6 Enterprise + UPdata2 です。
usesにdsgnintfを入れると、
------------------------------------------------------------
[致命的エラー] Form_JuliusTime.pas(43): ファイル 'dsgnintf.dcu' が見つかりません
------------------------------------------------------------
となってしまうのですが、このpasはこれだけでは見れないのでしょうか?
Delphi6ではTPropertyEditorをヘルプで見ると、ユニットは
  DesignEditors  となっています。
これをusesに加えてもpasが見つからないと出てしまいます。
ファイルを検索しても見つからないのですが、
普通はそのpasは何処に入ってるのでしょうか。

編集    削除
しゅう  2003-03-09 17:06:40  No: 3117  IP: [192.*.*.*]

見つかりました。
$(Delphi)\Source\ToolsApi
にあることがわかりました。
これでTPropertyEditorをつかって試してみます。
その上でわからないことがあったらまた投稿させていただきます。
にしのさん、どうもありがとうございました。

編集    削除
しゅう  2003-03-09 17:07:30  No: 3118  IP: [192.*.*.*]

押し忘れ。

編集    削除