2009-02-26 9 views
0

私はメインフォームが擬似マルチスレッドのようなものの未チューンソートを実行できるようにしながら、外部exeを呼び出すいくつかのシェルメソッドとフォームだけで別のDLLを作成しようとしています。そして、これらの健全な良さはすべて古いvb6のレガシーアプリにあります。VB6デスクトップアプリケーション用.net dllとvb6 dllを作成するためのベストプラクティス?

私はdllを書くために.netを使うべきか、dllを書き込むためにvb6を使うべきかを決めようとしています。問題はありますか、最小値は何ですか?

おかげ

答えて

2

独立したフォームが必要な場合は、ActiveX EXEで十分です。独立したフォームは表示可能なフォームで、呼び出し元のアプリケーションは引き続き実行されます。両者はお互いを止めない。この場合、.NET DLLは過剰です。

従来のマルチタスキングが必要なものがある場合は、データチャンクを作成して処理するような場合は、マルチタスクはEXE-> Activeよりも簡単ですVB6のEXEソリューション。

あなたのEXEで参照されるActiveX EXEで必要なフォームを呼び出すためのメソッドとパラメータを公開するグローバルなマルチ使用クラスを作成すると、やり方が変わると思います。

さらに詳しい情報は、より良い答えを手助けするのに役立ちます。 COMMENT

AFTER

@EDITは、その後のActiveX EXE上のフォームとオブジェクトを転送することは行くための正しい方法でしょう。その後、元のEXEからActiveX EXEを参照することができます。

唯一の問題は、コピーしているものが本当にスタンドアロンかどうかです。良いニュースは、VB6に滞在することによって、変換プロセスの成果物であるかどうか疑問を呈するのではなく、すぐに問題を発見することです。後でそれが長期目標であれば、.NETへの変換に集中することができます。

+0

@RSこれは厳密にメインのexe/formです。エディタボタンは別のフォームを呼び出します。これらのうち2つはメインのexe/formと一緒に実行されます。今のところ、これらの子フォームにはマルチタスクが必要ではありません。他にどんな具体的なことがありますか?ありがとう! – melaos

0

私は、これはyour other questionに関連していると思いますか?あなたは本当にDLLを必要としません - 私はあなたがRSコンリーの答えを誤解したと思います。これが役に立ちますようお願い致します。

+0

MarkJ、他のものをDLLに移して、私のアプリケーションをActiveXのexeに変更する必要がなくなったと思ったのですか?ありがとう。 – melaos

+0

私はそれを書いて以来、RS Conleyはこの質問に答えを出しました - それを見てください – MarkJ

関連する問題