FindComponentを使用してソースを楽に書こうとするとDataModuleのTableがBDEエラーになってしまいます。内容はエリアスが無い〜。
このTableをFindComponentを使用しているフォームに移すと問題なく動作します。
解決方法はないでしょうか。
> このTableをFindComponentを使用しているフォームに移すと問題なく動作します。
FindComponent は汎用の関数ではなく TComponent のメソッドです。そのコンポーネントが
所有しているコンポーネントを検索するものです。
ですから、フォームの FindComponent で DataModule の Table をさがすことは出来ません。
おいている DataModule の FindComponent を使うといいのでは?
書き方が悪かったようです。
FindComponentで探しているのはTEditです。TLabelなどもエラーになります。
このコンポーネントだけというわけではないようです。
そのフォームにTDBEditやTDBGridがあるのでDataModuleをunitとして追加してあり、FindComponentのところでBDEに関係するエラーを表示してしまう。不思議な現象です。
えーとさんが既に回答されていると思いますが、
FindComponetメソッドの親もちゃんと修飾してあげるといいですよ。
以前ここで同じような現象で悩んだ人がいて、この方法でちゃんと解決しています。
我々の言ってることが理解できてないようでしたらHelpを熟読するかここの過去ログを参照するといいかもしれません。
ツイート | ![]() |