DLLのなかでコンポーネント(DataModuleでもつかえる非ビジュアルコンポーネントです)をつかうとき、
ふつうどおりAOwnerを設定しないと作ることができないんですけど、
こういうとき、AOwnerには何を設定すればいいんでしょうか?
Applicationで良かったと思います。
駄目でしたっけ??
# 未確認です
> Applicationで良かったと思います。
うーん、だめでした…。
ヘルプのどこかにあるかなと思ったんですけど…。
調べかたが悪いのか、見つかりません。
DLLについての記述がもう少しあったような気がするんですけど…。
どのコンポーネントでしょうか。
標準のものでしたら、提示していただければ、ソースを追って見つけられるかもしれません。
TTableの場合、TDBDataSetのCreateで、「AOwnerがTDatabaseならば」という処理がありますから、内容に意味があるのでしょう。
いえ、TComponentを継承した自作コンポーネント(ただシステムディレクトリを取得するだけの、ユニットにしてもいいようなものですけど…)と、
DelphianWorldにある、TAWKStrコンポーネントです。
自作コンポーネントのほうでは、Createはオーバーライドしないで書いてますけど、
これでは非VCLのコンポーネントとしては足りないでしょうか?
TAWKStr.Create(nil);ではどうですか?
Createをオーバーライドしていないのなら、特に問題無いはずです。
オーバーライドしていないのは自作コンポーネントのほうで、
ソースを見ると、どうやらTAWKStrはオーバーライドしているようですけど…。
なんだかソースの中でずいぶん複雑に継承していますけど^^;
元を正すとただのTComponentですね。
文字列を操るだけのものなので、多分問題ないですね。
いつもいつもすばやい対応ありがとうございます。
ツイート | ![]() |