FindComponentを使用するとDataModuleに置いたTableでエラーが発生


かず  2007-02-06 15:50:34  No: 24803  IP: 192.*.*.*

FindComponentを使用してソースを楽に書こうとするとDataModuleのTableがBDEエラーになってしまいます。内容はエリアスが無い〜。
このTableをFindComponentを使用しているフォームに移すと問題なく動作します。
解決方法はないでしょうか。

編集 削除
えーと  2007-02-09 18:09:56  No: 24804  IP: 192.*.*.*

> このTableをFindComponentを使用しているフォームに移すと問題なく動作します。

FindComponent は汎用の関数ではなく TComponent のメソッドです。そのコンポーネントが
所有しているコンポーネントを検索するものです。
ですから、フォームの FindComponent で DataModule の Table をさがすことは出来ません。

おいている DataModule の FindComponent を使うといいのでは?

編集 削除
かず  2007-02-09 22:11:38  No: 24805  IP: 192.*.*.*

書き方が悪かったようです。
FindComponentで探しているのはTEditです。TLabelなどもエラーになります。
このコンポーネントだけというわけではないようです。

そのフォームにTDBEditやTDBGridがあるのでDataModuleをunitとして追加してあり、FindComponentのところでBDEに関係するエラーを表示してしまう。不思議な現象です。

編集 削除
りっきぃ  2007-02-14 12:55:32  No: 24806  IP: 192.*.*.*

えーとさんが既に回答されていると思いますが、
FindComponetメソッドの親もちゃんと修飾してあげるといいですよ。

以前ここで同じような現象で悩んだ人がいて、この方法でちゃんと解決しています。
我々の言ってることが理解できてないようでしたらHelpを熟読するかここの過去ログを参照するといいかもしれません。

編集 削除