トップ回答者
VB6で作成したプロジェクトを2010で作り直す効率の良い方法は有りますか

質問
回答
-
VB6のプログラムはVB6を使用してのデバッグ実行以外ではソースコードに対応したデバッグを行うことはできないので、VB2010Expressでソースコードデバッグする方法はありません。
VB6を持っていない場合はMSDNサブスクリプションではまだ入手可能です。VB.NETに変換する前にVB6でのCode Advisor for Visual Basic 6.0というアドインを使うとチェックが行えるので、指摘された個所を修正しておくとアップグレード後の修正量が減らせます。
VB2010ではできなくなっていますが、VB6のプロジェクトをVB.NetのプロジェクトにアップグレードするのはVB 2008 ExpressでVB6のプロジェクトファイル(vbp)を開くだけで行えます。(VB6で参照しているCOMやランタイムが入っていないPCでやると失敗しますが)
そして、変換できなかった部分や修正が必要な個所がレポートという形で表示されます。アップグレードで済ませるなら、そのレポートにしたがってコンパイルが通るように一つずつコードを修正作業を行っていくことになります。
また、VB.Netではなくなってしまった機能がある場合はどうやってもアップグレードできない場合があります。Windows7では一応VB6ランタイムの動作はサポートされているので、VB6だから動かないのではなく、ほとんどの場合でセキュリティの変更に対応できていないことです。たいてい引っかかるのはWindowsのセキュリティが強化されたことによるファイルを読み書きやレジストリの箇所なので、これを一般のユーザー権限でも読み書きできるようにする必要はがあるでしょう。
そのほかにVB6からの変換に関する事項はVisual Basic 6.0 からのアップグレードをよく読んでください。
ほとんど同じものを作り直すのであればVB2008経由で変換するのが効率はいいですが、ロジックを参照する程度にして丸ごと作り直した方が楽だったしします。
個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)
-
>VB2010などを使用してWindows7上で動くようにデバッグする方法は有りますか。
gekkaさんも書かれていますが、ありません。それどころか、Windows 7上ではVB6.0 IDEの動作も保証されていません。よって、Windows 7上でVB6.0の開発は保障されません。
開発ツール対応 OS 一覧
http://www.microsoft.com/ja-jp/dev/support/tools.aspxWindows 7上で動かない場合でも、対処すれば動作することがありますので、以下などの情報を参考にしてトライされてみると良いと思います。
VB6.0 をWindows 7/8 上で使用した場合の不具合(VB6.0)
http://www.hanatyan.sakura.ne.jp/patio/read.cgi?no=272サードパーティ製のOCXを使っているなど、打つ手が無くなってどうしても動かない場合は、.NETへのマイグレーションになります。マイグレーションに関しては、以下が参考になります。
Microsoft の VB マイグレーションセンター
http://www.microsoft.com/ja-jp/dev/vbrun/default.aspxいずれにしても最終的には.NETへのマイグレーションになると思いますので、.NETを勉強され、VB2008 Expressの変換機能に頼らずに、一から開発されるのがベストです。ただ、VB2008 Expressが変換した結果は参考になると思いますので、そこは盗めば良いと思います。
ちなみにVB2010 Expressを勉強されているようですが、VB2010のメインストリームのサポートは来年の7月15日で終了します。特に理由が無いのであれば、最新のVisual Studio Express 2013 for Windows Desktopを使用されてみてはいかがでしょうか?Visual Studio Express
http://www.visualstudio.com/ja-jp/products/visual-studio-express-vs.aspx★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
- 回答としてマーク yume_2205 2014年8月20日 17:00
すべての返信
-
VB6のプログラムはVB6を使用してのデバッグ実行以外ではソースコードに対応したデバッグを行うことはできないので、VB2010Expressでソースコードデバッグする方法はありません。
VB6を持っていない場合はMSDNサブスクリプションではまだ入手可能です。VB.NETに変換する前にVB6でのCode Advisor for Visual Basic 6.0というアドインを使うとチェックが行えるので、指摘された個所を修正しておくとアップグレード後の修正量が減らせます。
VB2010ではできなくなっていますが、VB6のプロジェクトをVB.NetのプロジェクトにアップグレードするのはVB 2008 ExpressでVB6のプロジェクトファイル(vbp)を開くだけで行えます。(VB6で参照しているCOMやランタイムが入っていないPCでやると失敗しますが)
そして、変換できなかった部分や修正が必要な個所がレポートという形で表示されます。アップグレードで済ませるなら、そのレポートにしたがってコンパイルが通るように一つずつコードを修正作業を行っていくことになります。
また、VB.Netではなくなってしまった機能がある場合はどうやってもアップグレードできない場合があります。Windows7では一応VB6ランタイムの動作はサポートされているので、VB6だから動かないのではなく、ほとんどの場合でセキュリティの変更に対応できていないことです。たいてい引っかかるのはWindowsのセキュリティが強化されたことによるファイルを読み書きやレジストリの箇所なので、これを一般のユーザー権限でも読み書きできるようにする必要はがあるでしょう。
そのほかにVB6からの変換に関する事項はVisual Basic 6.0 からのアップグレードをよく読んでください。
ほとんど同じものを作り直すのであればVB2008経由で変換するのが効率はいいですが、ロジックを参照する程度にして丸ごと作り直した方が楽だったしします。
個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)
-
>VB2010などを使用してWindows7上で動くようにデバッグする方法は有りますか。
gekkaさんも書かれていますが、ありません。それどころか、Windows 7上ではVB6.0 IDEの動作も保証されていません。よって、Windows 7上でVB6.0の開発は保障されません。
開発ツール対応 OS 一覧
http://www.microsoft.com/ja-jp/dev/support/tools.aspxWindows 7上で動かない場合でも、対処すれば動作することがありますので、以下などの情報を参考にしてトライされてみると良いと思います。
VB6.0 をWindows 7/8 上で使用した場合の不具合(VB6.0)
http://www.hanatyan.sakura.ne.jp/patio/read.cgi?no=272サードパーティ製のOCXを使っているなど、打つ手が無くなってどうしても動かない場合は、.NETへのマイグレーションになります。マイグレーションに関しては、以下が参考になります。
Microsoft の VB マイグレーションセンター
http://www.microsoft.com/ja-jp/dev/vbrun/default.aspxいずれにしても最終的には.NETへのマイグレーションになると思いますので、.NETを勉強され、VB2008 Expressの変換機能に頼らずに、一から開発されるのがベストです。ただ、VB2008 Expressが変換した結果は参考になると思いますので、そこは盗めば良いと思います。
ちなみにVB2010 Expressを勉強されているようですが、VB2010のメインストリームのサポートは来年の7月15日で終了します。特に理由が無いのであれば、最新のVisual Studio Express 2013 for Windows Desktopを使用されてみてはいかがでしょうか?Visual Studio Express
http://www.visualstudio.com/ja-jp/products/visual-studio-express-vs.aspx★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
- 回答としてマーク yume_2205 2014年8月20日 17:00