掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
非同期のActiveX EXEでデータのやりとりをするには? (ID:101106)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ActivX EXE内のクラスからはイベントを出すにしろ制御の主体はActivXクラスから起動したフォームおよびインターバルタイマにあるわけで、 やはりActivXフォームからActivXクラスへアクセスする必要があると思いますが・・・ あ、それとも別のイベント用のクラスを作るということでしょうか。 似たような内容の過去ログはけーん 「ACTIVEX.EXEで独自イベントを発生させ、標準EXEでイベント処理するには?」 http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200508/05080092.txt この件は並列で動作させることが前提となってるので、 もともと Private Sub timFTP_Timer(Index As Integer) Dim Ftp As MyFtp.clsFtp としていました。 インデックスの違う別のタイマーイベントでオブジェクトのインスタンスが自動的に量産されるので、オブジェクトが並列動作さえしてくれれば文句は無かったのですが・・・ 「複数のFTPサーバーから並列でファイルをゲットするには」 http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200809/08090017.txt で、非同期で走らせるようにするわけですから、当然オブジェクトはモジュールスコープにならなければならないので、 Private mFTP(15) As MyFtp.clsFtp という風にしたいのですが、これだとイベントが受け取れません。 Private WithEvents mFTP(15) As MyFtp.clsFtp ・・・構文エラー としたくても、 WithEvents ではオブジェクト配列を受け入れてくれないようです。 まぁ、その前に制御の主体がフォームなので、ActivXクラスのイベントが起こせないから困っているわけですが。 魔界の仮面弁士さまが別スレでおっしゃるとおり、 >今回の場合、通信クラスのインスタンスを共有せねばならないので、 > 案1. 標準EXE側でClassTestを生成し、それをActiveX EXE側でも使う。 >・・・外部で生成されたインスタンスをForm1が使えるよう、 >ClassTestを受け渡す為のメソッドを用意する、という手法があります。 やり方がサパーリだけど、これが出来ればActivXフォームはActivXクラスのインスタンスにアクセスは可能になるのかな・・・ だとすれば、メインフォームにイベントを投げるためのメソッドをActivXクラスに追加して、ActivXフォームからそれをコールすると・・・ なんかぐちゃぐちゃになってきちゃった・・・ クラスに制御の主体を持つことが出来れば楽なのに・・・ coffeeでも飲みこんでこよう・・・
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.