2010-11-27 10 views
1

何年も前、私はVB3またはVB5または6を使って顧客のためのシステムを書いたのですか?覚えていない...それは本当にでした。Windows 7上で動作するVB3プログラムを取得するには?

とにかく、Windows 95からXPへのオフィス全体のアップグレードを含めて、このプログラムを長年にわたって喜んで使用してきましたが、今はオフィスコンピュータをWindows 7にアップグレードしたいと考えています。私のプログラムを再インストールする - それは動作しませんでした。

このレガシーソフトウェアをWindows 7で使用するためのクイックフィックスはありますか?それとも、プログラム全体を書き直す必要がありますか?

+1

「動作しませんでした」が定義されているかどうかによって異なります。おそらく、それが上昇した場合にはうまくいくでしょう。おそらく、それが外部のマニフェストを持っていた場合、あるいはProgram Files以外のどこかにインストールされているかもしれません。おそらく、それはWindows版がまさにXPであるかのような1つのダムチェックを持っているか、または1つのハードコードファイルパスに依存しています...あなたは答えを得るためにもっと多くの情報が必要です。エラーメッセージはステップ1になります。 –

答えて

4

ここに記載されているVisual Basic 3.0の場合、Windows 7ではネイティブに実行されない可能性があります。アプリケーションを実行する場合は、Windows 7 Virtual XP Modeを使用する必要があります。一方、VB 6.0はWindows 7で動作するはずです。サポートステートメントhereを参照してください。

2

Windows 7,8、8.1、および10でVB3プログラムを変更することなく、比較的少数の問題を実行できます。私は通常、XP-SP3互換モードでそれらを実行します。私はかなり古いVB3プログラムをこのように実行しています。 VB3のプログラムは16ビットですが、Windows Vista/7/8/10の32ビット版でしか動作しませんので、64ビットのウィンドウがある場合はXPモードを使用しない限り実行できません(Windows 7でのみ使用可能)、またはVMWare PlayerまたはVirtualBoxなどを使用して仮想Windows XPをセットアップします。 Win-7-64、Win-8-32、Win-8-64、Win-8-64、Win-7-64、Win-7-32、必要なときに実行する10〜32台の仮想マシン。

Vb3プログラムをVB4(32ビット)、VB5、VB6に変換するには、新しいIDEで開いて再コンパイルすればOKです。あなたはVb3とプログラムに任意のサードパーティのVBXまたはDLLファイルを使用している場合は

EXCEPT

、あなたは同様のコントロールは、Microsoftの標準コントロールとして既に存在しているかもしれないが、これらのコントロールの32ビットバージョンを取得する必要があります。

私は、SQLクエリを処理して結果を返すために、データコントロールにバインドされたグリッドとしてApex TrueGridを使用しました。 TrueDBGridにアップグレードする必要がありました。しかし、私は今、標準のVB6 Microsoft MSFlexGridには私が古いTrueGridコントロールで使用した機能のすべてを持っているので、私は今MSFlexGridsでTrueDBGridsを置き換えていることがわかりました。プロパティとメソッドは異なるので、私はそれをコード化しなければなりませんでしたが、これのほとんどは標準のサブルーチンですべてのグリッドに使用されていたので、ほとんどの変更をすべてのグリッドに対して一度だけ行う必要がありました。

VB3からVB4/5/6にコントロールをアップグレードすると、新しいコントロールは同じプロパティを持ちますが、異なる名前と異なるパラメータで機能することがあります。回避策を見つける。または、新しいコントロールをサポートするために、多くのコード変更を含む別のコントロールを使用する必要があります。

私はリソースとメモリなどが不足しているため、コードを1,000,000以上のコードで共同して実行する複数のVB3プログラムがあります。プログラムをコンパイルしないと、これ以上の機能を追加できません実行されません。

これらをVB3からVB6に変換しようとしましたが、いくつかのエラーがあり、最初から多く書き直してしまいました。私は何年にもわたってこれらを何度か変換しようとしましたが、あなたが少なくとも「並べ替え」をしたら、それらを実行しようとしなければなりません。そして、起こったら、それらをコンパイルしなければなりません。私は実際にVB3のソースコードを読んで、できるだけ多くの変更を自動的に行うことができるVB6プログラムを作成しました。あなたがこれを行うことができない1つの領域は、* .FRXファイルに保持されているコントロールのカスタマイズデータです。これらはバイナリであり、文書化されていません。これは私がカムを解除する場所です... プログラムをロードして実行し、エラーを取得し、そのエラーを修正して、 を実行してエラーを取得し、そのエラーを修正して保存します。 を実行してエラーを取得し、 一度に1つのエラーしか表示されず、変換されたコードに何千ものコンパイラエラーがあります。私は通常、これらのエラーを一つずつ取り除くために時間を費やして、あきらめました。私は完了から1つのエラーに陥ったことすらあるかもしれませんが、実際に完了したときだけ知ることはできません。

関連する問題