CreateObject(sClassName, sServerName) のように、.NET サーバー オブジェクトを開始する非常に古くて複雑な VB6 アプリケーションがあります。本番サーバーで正常に動作しています。現在、生産を Windows 2008 R2 64-bet マシンに移行しようとしていますが、その呼び出しはもはや機能せず、エラーも何もなく、常に空の文字列を返すだけです。.NET オブジェクトが作成されていないようです。すべてのオブジェクトには GUID と ProgId があり、アセンブリで再登録され、本番環境での全体的な模倣が行われます。どんなアドバイスでも大歓迎です。
1 に答える
0
CreateObject が空の文字列を返すことはできません。オブジェクトを返すか、エラーを発生させます。
誤って古いバージョンのコンポーネントを使用していませんか? ログを記録し、返されたオブジェクトの TypeName を確認します。
On Error Resume Next でエラーを無視していますか?
VB6 は 32 ビットでのみ実行されるため、.Net コンポーネントをビルドするときに 32 ビットを明示的にターゲットにすることができます。
于 2013-08-20T08:39:14.217 に答える