• ベストアンサー

VB6で開発されたアプリをVB2008に移植するには?

ToOrisugaruの回答

  • ベストアンサー
回答No.3

通りすがりと申します。  vb6とvb.netは、開発思想も含めまったく別ものです。  vb6は、構造化設計、vb.netはオブジェクト指向  やろうと思えば、同じモジュールでもできると思いますが、コードは全て書き換えなければなりません。  あと、Express Editionで可能かどうかは、開発しているvb6での開発時に有償ソフトを使用していた場合、Expressでは対応していない可能性があります。  このようなソフトを使用する場合、有償のIDEを買わないと使用できないです。  詳しくは、その製品サポートセンターへ問い合わせてください。  あと、vb6だけでなく、それ以外に使用している環境も合わせて調査したほうがよいです。  (たとえば、excelを使用している、dbの種類、XMLを操作している..など)  これらも、接続方法、使用するライブラリ、相性などあります。    dbについてもバージョンを上げるだけで、新たに見直さなければならないところも出てきます。  たとえば、以前使用していたdbが内部でdmlを処理する時、シングルタスクで動作していたと  過程します。バージョンアップ後、マルチタスクで動作するように改善されているとします。  これだけでも、実行結果が異なる可能性があります。    

donbei_bp
質問者

お礼

通りすがり様 より具体的なご助言ありがとうございます。 以前、同アプリをVB4からVB6に載せ替えた時も、(主に各機能をOLEコンポーネント化する為)ほとんど全てののコードを書き換えた記憶があり、今回も当初から覚悟の上です。 > vb6は、構造化設計、vb.netはオブジェクト指向 当時はVB6でも「(『クラスの継承が出来ない』など不完全ながらも)機能別にOLEコンポーネント化する事でオブジェクト指向プログラミングが可能」との事でしたので、自分では曲がりなりにもオブジェクト指向でプログラミングした「つもり」でいました。(^^;) > Express Editionで可能かどうかは、開発しているvb6での開発時に有償ソフトを… なるほど… (開発予算の関係もあり^^;)有償ソフトは一切使用していませんので、Express Editionでもいけそうですね。助かりました。 DBは「VB6に付属したADOを使用してAccessデータベースに接続」しています。 そのADOの内部でどういう処理をしているかまでは知る術もありませんが、「.NETでもAccess データベースに接続する事さえ出来れば問題ないのではないか…」というのは楽観的過ぎるでしょうか? もし実行結果が変だったら、一番にその辺を疑う事にします。 いずれにせよ、「基本思想の異なるまったく別の言語で書き換える」という気構え・覚悟が必要なようですね。頑張ってみます! いろいろと教えて頂き、ありがとうございました。

関連するQ&A

  • VB6.0について

    VBをこれから学ぼうと思っていてそのためのソフトを買おうと 調べているのですが、わからない事が2つあるのでお尋ねします。 1、「VB 6.0 Learning Edition」でもActiveX DLLを作る事はできますか? 2、「Learning Edition」と「profesional」は大まかにどのような違い    があるのですか? 回答お願いします。

  • VB6.0について

    VBをこれから学ぼうと思っていてそのためのソフトを買おうと 調べているのですが、わからない事が2つあるのでお尋ねします。 1、「VB 6.0 Learning Edition」でもActiveX DLLを作る事はできますか? 2、「Learning Edition」と「profesional」は大まかにどのような違い    があるのですか? 回答お願いします。

  • VB.NETでフォーム上にエクセルシートの埋め込み

    いつもお世話になっています。 現在、VB.NETで開発をやっています。 いろいろ調べたのですが、情報を掴めないので 教えていただきたく書き込みしました。 宜しくお願い致します。 タイトルの内容なのですが、VB6の場合 OLEコントロールで、別アプリを埋め込む事が 出来たと思いますが、.NETではどう探しても 検索にヒットすらしない状況で困っています。 有料でSpreadを購入して、シートを表現する方法しか ないのでしょうか? 何かよい方法や情報があったら教えてください。

  • VBの2008 Express Edition について

    VBの2008 Express Editionと製品版の大きな違いを教えて下さい。 気になる点は Framework 、コントロール 、  セキュリティリスク、リバースエンジニアリング、制作したプログラムの配布(無償、有償)、 ExpressEditionの最新版でVisualStudio2010はどう対応される予定なのか、 です。

  • VBでブラウザを操作するには?

    ■利用環境 WinXP SP3 VB2008 ExpressEdition IE7 ■質問 VB始めたばかりで初心者です。 VBSで行っていたIEオブジェクトの自動操作をVBのフォーム デザインを使ってビジュアル的に作り変えたいのですが MSDNもろくに読めなくて前に進めません。 VBは、イベント駆動と言うのは、理解しているつもりですが、 CreateObject("InternetExplorer.Application") とブラウザコントロールの違いに戸惑っています。 IEオブジェクトとWebBrowserオブジェクトの使い方の違いの事です。 VBSのIEオブジェクトで行っていた操作は、 IE = CREATEOLEOBJ("InternetExplorer.Application") IE.visible = True IE.navigate(URL) IE.document.body.InnerHTML と言う操作をしたいのですが、 できれば、このように私が慣れているIEオブジェクトの操作で ページ表示だけ、VBのブラウザオブジェクトに反映させる事が できれば良いのですが、難しければ、 VBのコントロールのブラウザオブジェクトで これと同じ操作をするにはどうすればよいか 教えて頂けませんでしょうか?

  • VB2008で開発したアプリの不可解な現象

    2年前にVB6からの移行が終りアプリとして100ヶ所位に 配布していますが今回初めて解決できない現象が発生しました。 他の配布先では問題は無く稼動しています。 納入先は遠方なので電話とメールでの対応しかできなくて お客様のパソコン操作レベルは電話でCopy&Pasteができるレベルです。 functionキーは使えません。 ※開発環境 VB2008 .NET FrameWork 3.5.1  お客様のパソコンはWindows7でXP,Vistaからのアップグレードではない 下記の2点のアドバイスよろしくお願いいたします。 [No1] 塗り潰し印刷ができない。 エラーにはなりません。 [No2] NET FrameWorkのエラーとなります。 詳細なエラーメッセージは不明です。 Text書き出しはやめて他の方法で対処しましたが なぜエラーになるのか経験のある方宜しくお願いします。 [No1]-------------------------------------------------------------------------- Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage Dim drawbrushWhiteSmoke As New SolidBrush(Color.WhiteSmoke) With e.Graphics .FillRectangle(drawbrushWhiteSmoke, 15 , 80, 180, 6) '塗り潰し End With [No2]-------------------------------------------------------------------------- Private Sub XXXXX() Dim enc As System.Text.Encoding = System.Text.Encoding.GetEncoding("Shift_JIS") Dim File_Name As String = フォルダー名 & "Data\Prev.txt" System.IO.File.WriteAllText(File_Name, Out_MitumoriNo, enc)

  • VB.net 2010で開発しています。

    Private Sub TextBox1_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox1.TextChangedのイベントプロシージャ内で、何のキーを押して、TextChangedのイベントが起きたか知りたいのですが、どうすればよいでしょうか?実はBackSpaceが押されたのかどうかを知りたいのです。よろしくお願いいたします。

  • VB2005にて開発しております。

    VB2005にて開発しております。 子フォームを開くイベントで変数は使えないのでしょうか? Dim FormName as string FormName = "ClsF_100" FormName.Show(Me) 御教示宜しくお願い致します。

  • VBを開発するのに

    初心者です。VBを開発するのに、MSが提供するVisualStudio以外の開発環境はどんなものがあるのでしょうか?VisualStudioが高いもので、悩んでおります。 また、仮にVisualStudioを購入した場合、1ライセンスどのくらいかがわかる一覧などがあれば、うれしいのですが、どなたかご存じないでしょうか?どなたか、教えてください。お願いします。

  • Windowsアプリ、VBとVCどっちで開発?

    初めまして。グフと申します。 WindowsのGUIアプリケーション(デスクトップアプリ) の作成について質問があります。 Windowsのソフト開発環境の選択肢としてVB, VC, C# というものがあるようですが、C++経験者がWindows ソフトの開発にとりかかるのに、もっともとっつき やすく、開発生産性の高いツールはどれになるので しょうか? 新たにVBやC#の言語仕様を覚えるより、C++の知識 そのままが活かせるのであれば、強みづたいという ことでVCが良いのかなと感じてはいます。 ただ、現状のVBの隆盛や今後の.NETの事を考えると 今までのC++の経験はさておき、VBやC#で開発する 方がよいのかなとも悩んでおります。 現場で実際にツールをお使いの方々に、開発言語の 選択について、参考ご意見をいただければと思い、 投稿させて頂きました。 ちなみに私はこれまで、UNIX系のソフト(CUI, サーバーアプリ)をC++を使って開発してきました。 Windows系の開発経験は全くありません。 何卒、ご意見をよろしくお願いいたします。