3

仕事中の別の開発者は、VisualBasic6アプリケーションに固有の何らかの理由で機能しないと私に言いました。

しかし、正しいDLLとランタイムファイルが含まれている限り、それは機能するはずだと思います。VB6はマシンコードにコンパイルされていませんか?

編集:私は一般的にそれが可能であるかどうかを意味します。それが機能しないという理論的な理由を誰も教えてくれない限り、私は実際にこれを数日でテストするつもりです。

編集2:開発者はPコードを参照していたと思います。これは、.Netフレームワーク(またはその前身)に類似した仮想マシンで実行されるバイナリの代わりに、vb6がオプションでコンパイルできます。

4

2 に答える 2

3

私はUbuntuのWineで大きなVB6アプリをテストしました。イベントmsiインストーラーは正常に機能しました。低レベルの実装の詳細に問題がありました(たとえば、CDRF_NOTIFYITEMDRAWフェーズのNM_CUSTOMDRAWでは、Windowsの一般的なコントロールのようにhDCテキストはデフォルトで透過的ではありません)。そうです、かなりサブクラス化されたものでも機能します。私はそれらの小さな不具合を解決する必要がありました。

これは、アプリがワインの下で実行されているかどうかをチェックする関数です

Property Get IsWine() As Boolean
    IsWine = (GetProcAddress(GetModuleHandle("kernel32"), "wine_get_unix_file_name") <> 0)
End Property
于 2011-08-16T19:15:18.753 に答える
1

これを見てみましょうhttp://appdb.winehq.org/objectManager.php?sClass=application&iId=7361

ほとんどの VB6 プログラムを動作させることができるようです。

于 2011-08-16T16:45:16.850 に答える