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

解決


たかみちえ  URL  2002-06-08 00:10:58  No: 981

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


にしの  2002-06-08 00:13:48  No: 982

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


たかみちえ  URL  2002-06-08 01:47:09  No: 983

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

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


にしの  2002-06-08 02:21:28  No: 984

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


たかみちえ  URL  2002-06-08 02:31:01  No: 985

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


にしの  2002-06-08 05:55:05  No: 986

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


たかみちえ  URL  2002-06-08 06:43:13  No: 987

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

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


※返信する前に利用規約をご確認ください。








  このエントリーをはてなブックマークに追加