私はVB6 dllを呼び出す必要があるマルチスレッドWindowsサービスを実行しています。このVB6 dllに関するドキュメントはありません。このレガシーシステムは非常に重要なビジネスプロセスをサポートしています。マルチスレッドのC#Windowsサービスアプリケーションから呼び出されるVB6 dllをどのように使用できますか?
初めて(1度のスレッド)、このdllは正常に動作します。他のスレッドはアクセスが必要なので、間違った結果を出します。
私が言って1人をお読みください。
をあなたはVB6を使用している場合は、「ただ、一つのことに注意してあなたのスレッドモデル は、あなたがマルチスレッド サービスを実行している場合は、マンションをサポートするために変更する必要がしようとしているVB。 VB6 DLL に呼び出されるスレッドは、DLLと互換性がある必要があります。
チームの別の男が私に、このddlを分離したアプリケーションドメインに入れるというアイディアを与えました。確信はないけど。
マルチスレッドのC#WindowsサービスアプリケーションからVB6 dllを呼び出すにはどうすればいいですか?
最終的な答えを得るには、より多くの情報が必要です。これはCOM +で実行されるかどうか、前者の場合はインプロセスまたはアウトプロセスを実行しますか?どのようにシステムにインストールするのですか?regsvr32または他の方法で? –
みんなのおかげで、私は問題が何かを発見しました。このDLLはVB 6以外のものでは動作しませんでした。内部にバグがあります。サーバー上で英語の地域設定を受け入れないため、ポルトガル語に変更する必要がありました。クライアント言語。 これまでのところ、このレガシーコンポーネントで動作するためにシングルトンパターンとプロキシパターンを使用していますが、現在はうまく機能しています。 –