DLL内でコンポーネントを使う場合。

解決


たかみちえ  URL  2002-06-07 15:10:58  No: 981  IP: [192.*.*.*]

DLLのなかでコンポーネント(DataModuleでもつかえる非ビジュアルコンポーネントです)をつかうとき、
ふつうどおりAOwnerを設定しないと作ることができないんですけど、
こういうとき、AOwnerには何を設定すればいいんでしょうか?

編集 削除
にしの  2002-06-07 15:13:48  No: 982  IP: [192.*.*.*]

Applicationで良かったと思います。
駄目でしたっけ??
# 未確認です

編集 削除
たかみちえ  URL  2002-06-07 16:47:09  No: 983  IP: [192.*.*.*]

> Applicationで良かったと思います。
  うーん、だめでした…。

  ヘルプのどこかにあるかなと思ったんですけど…。
調べかたが悪いのか、見つかりません。
DLLについての記述がもう少しあったような気がするんですけど…。

編集 削除
にしの  2002-06-07 17:21:28  No: 984  IP: [192.*.*.*]

どのコンポーネントでしょうか。
標準のものでしたら、提示していただければ、ソースを追って見つけられるかもしれません。
TTableの場合、TDBDataSetのCreateで、「AOwnerがTDatabaseならば」という処理がありますから、内容に意味があるのでしょう。

編集 削除
たかみちえ  URL  2002-06-07 17:31:01  No: 985  IP: [192.*.*.*]

いえ、TComponentを継承した自作コンポーネント(ただシステムディレクトリを取得するだけの、ユニットにしてもいいようなものですけど…)と、
DelphianWorldにある、TAWKStrコンポーネントです。
自作コンポーネントのほうでは、Createはオーバーライドしないで書いてますけど、
これでは非VCLのコンポーネントとしては足りないでしょうか?

編集 削除
にしの  2002-06-07 20:55:05  No: 986  IP: [192.*.*.*]

TAWKStr.Create(nil);ではどうですか?
Createをオーバーライドしていないのなら、特に問題無いはずです。

編集 削除
たかみちえ  URL  2002-06-07 21:43:13  No: 987  IP: [192.*.*.*]

オーバーライドしていないのは自作コンポーネントのほうで、
ソースを見ると、どうやらTAWKStrはオーバーライドしているようですけど…。
なんだかソースの中でずいぶん複雑に継承していますけど^^;
元を正すとただのTComponentですね。
文字列を操るだけのものなので、多分問題ないですね。

  いつもいつもすばやい対応ありがとうございます。

編集 削除