DLLでTComPortを使用するには?


まっくす  2006-05-24 20:08:53  No: 21776  IP: [192.*.*.*]

最近Delphi7 (OS Win2000 Pro)を始めました。
シリアル接続するDLLを作成しています。フリーで出ているTComPortというコンポーネントを使用することになったのですが、TComPortを生成するときにコンストラクタで、Com.Create(AOwner: TComponent)を定義します。ここでどのようにTComponentを受け渡したらいいのかに苦しんでいます。nil、ダミーFormもだめでした。このDLL自身を定義してやるべきなのですが、その方法が見つかりません。
なにかいいアイデアがあればご教授お願いします。

編集    削除
というか・・・  2006-05-24 22:33:28  No: 21777  IP: [192.*.*.*]

> nil、ダミーFormもだめでした
何がダメなんですか?

編集    削除
ちなみに  2006-05-24 22:38:22  No: 21778  IP: [192.*.*.*]

DLL側で、フォームなしでTComPortを使おうとしてるってこと?

編集    削除
まっくす  2006-05-24 22:56:20  No: 21779  IP: [192.*.*.*]

>>DLL側で、フォームなしでTComPortを使おうとしてるってこと?
そういうことです。

編集    削除
だから・・・  2006-05-25 03:21:46  No: 21780  IP: [192.*.*.*]

何がダメなんですが?

アクセス違反とかエラーがでるの?
通信ができないの?

ダメにもいろいろあるでしょ?

編集    削除
 2006-05-25 10:28:55  No: 21781  IP: [192.*.*.*]

とりあえず、それ(TComPort)のソース見てどこで引っかかるのか
見てみるしか無いような気がするんだけど。

安直だけど、フォームをつかったなら、TForm.HandleNeededを
1度実行してみるとか。
TComPortがウィンドウを必要としているのに
コンストラクタの時点では、まだ出来てない可能性とかが考えられる。

編集    削除