こんにちわ。よろしくお願いします。
早速ですが十年くらい前にVisual Basic(以下VB)6で開発されたアプリ(Windows用スタンドアロン。OLEコントロールやDBコントロールも使用)を無謀にも一足飛びにVB2008に移植する事になりました。
そこで質問なのですが…
1.VB2008のExpress Editionで可能でしょうか?
もし無理ならどのEditionなら可能でしょうか?
2.多分、言語仕様もかなり違いがあると思うのですが、最も大きな違いや注意点があればお教え下さい。
特に経験談・苦労談などをお聞かせくだされば有難いです。
3.VB6からVB2008への移植に関して特に有用と思われる書籍やWEBサイトがあればお教え下さい。
以上、独自のノウハウとして「秘中の秘」な事もあろうかと思いますが、「ヒントのヒ」だけでも教えて頂ければ幸いです。
どうか、よろしくお願いいたします。
No.1
- 回答日時:
現行アプリから仕様を抽出し、
必要な機能を洗い出します。
そこから、VB.NET用に再設計します。
まったく違う言語、環境への移植と思って取り組むことが、
一番の近道だと考えます。
言語のバージョン違いと思って、移行できるようなレベルではありません。
AKARI0418様
早速のご回答ありがとうございます。
うーん、なるほど!
道は厳しそうですねー…益々気が重くなってきました。(--;)
まずは仕様書とソースを一通り見直し、次にVB.NETの概要をを学習・把握し、新バージョンの仕様を見直し、作成に取りかかる…という事になりそうですね。
その中でも肝はやはり「.NET Framework」の理解でしょうか?
No.2
- 回答日時:
.NET Framework の理解は当然として、現システムの中でも OLE 関係は VB 2008 または VB 2008 用のコンポーネントで実現可能かを調査するのを忘れずに。
AKARI0418様
再度のご回答ありがとうございます。
なるほど…
VB6の頃のOLEはもあくまで「単一Windows内での動作」が大前提でしたからね…。
そこがネットワーク連携をも視野に入れた「,NET」以降のOLEとは根本的に異なるところ…という事ですね!?
その辺を肝に銘じて取り組んでいきたいと思います。
貴重なご助言、ありがとうございました。
No.3ベストアンサー
- 回答日時:
通りすがりと申します。
vb6とvb.netは、開発思想も含めまったく別ものです。
vb6は、構造化設計、vb.netはオブジェクト指向
やろうと思えば、同じモジュールでもできると思いますが、コードは全て書き換えなければなりません。
あと、Express Editionで可能かどうかは、開発しているvb6での開発時に有償ソフトを使用していた場合、Expressでは対応していない可能性があります。
このようなソフトを使用する場合、有償のIDEを買わないと使用できないです。
詳しくは、その製品サポートセンターへ問い合わせてください。
あと、vb6だけでなく、それ以外に使用している環境も合わせて調査したほうがよいです。
(たとえば、excelを使用している、dbの種類、XMLを操作している..など)
これらも、接続方法、使用するライブラリ、相性などあります。
dbについてもバージョンを上げるだけで、新たに見直さなければならないところも出てきます。
たとえば、以前使用していたdbが内部でdmlを処理する時、シングルタスクで動作していたと
過程します。バージョンアップ後、マルチタスクで動作するように改善されているとします。
これだけでも、実行結果が異なる可能性があります。
通りすがり様
より具体的なご助言ありがとうございます。
以前、同アプリをVB4からVB6に載せ替えた時も、(主に各機能をOLEコンポーネント化する為)ほとんど全てののコードを書き換えた記憶があり、今回も当初から覚悟の上です。
> vb6は、構造化設計、vb.netはオブジェクト指向
当時はVB6でも「(『クラスの継承が出来ない』など不完全ながらも)機能別にOLEコンポーネント化する事でオブジェクト指向プログラミングが可能」との事でしたので、自分では曲がりなりにもオブジェクト指向でプログラミングした「つもり」でいました。(^^;)
> Express Editionで可能かどうかは、開発しているvb6での開発時に有償ソフトを…
なるほど…
(開発予算の関係もあり^^;)有償ソフトは一切使用していませんので、Express Editionでもいけそうですね。助かりました。
DBは「VB6に付属したADOを使用してAccessデータベースに接続」しています。
そのADOの内部でどういう処理をしているかまでは知る術もありませんが、「.NETでもAccess データベースに接続する事さえ出来れば問題ないのではないか…」というのは楽観的過ぎるでしょうか?
もし実行結果が変だったら、一番にその辺を疑う事にします。
いずれにせよ、「基本思想の異なるまったく別の言語で書き換える」という気構え・覚悟が必要なようですね。頑張ってみます!
いろいろと教えて頂き、ありがとうございました。
No.4
- 回答日時:
通りすがりです。
前回回答に少し、説明不足がありましたので追記します。
expressには、複数のメンバーによる開発環境がありません。
また、便利ツール(VSSとかVisioなど)および開発に必要とされるツール(例ユーザーコントロ
ール)も必要最低限のものしかありません。なお、有償版においてもLAN環境で複数の開発メンバ
ーでシステム構築、WAN環境で複数のメンバーでシステム構築などの条件においてeditionが変わ
ってきます。このあたりは、開発ツールをそろえるコストと、それがなかった場合に発生する開発
コストを見積もり比較してどちらが低コストに抑えるかは、見積もり上つらいところですね。
また、開発において何か不具合があった場合の問い合わせ先についてもexpressだと不安要素も
あるかと思います。
具体的には、使用したクラス(標準クラス)に不具合を発見したがこの現象の回避策について
の検討、および改修されるのはいつごろかそれによって、どのように対処すべきかなどです。
このような場合には、開発元に問い合わせるしかないと思いますがexpressだとこのような
サポートは受けれないデメリットがあります。
これらも、調査の一部としてご検討しては如何でしょうか。
通りすがり様
補足のご説明ありがとうございます。
実は元々ははMS-DOS上の他言語で開発されたアプリでして、今となっては極小規模で、VB6でのソースも(フォーム情報も含めて)せいぜい数十MB程度です。
従ってソース管理ツールも(あればそれなりに便利かも知れませんが)特には必要ありませんし、今回の作業も私だけで担当します。
マイクロソフトへの問い合わせに関しても…
幸いVBの利用者が多いせいか情報も豊富ですし、前回VB6上で書き直した時も、特にマイクロソフトに問い合わせなければならい事は皆無でしたし、恐らく今回も乗り切れると思います。。
ただ「ユーザーコントロール」が限定されているというのは少々気がかりです。
それでも「最低でもVB6程度のモノはあるのではないか」という気もしますが…。
「論より証拠」。とりあえず、Express Editionをインストールして確認ししてみたいと思います。
いろいろと、親身にアドバイスして頂き、ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 政治 臓器移植の法律はアメリカと同じにするべきではないですか? 2 2023/02/11 14:03
- いじめ・人間関係 部署異動について 1 2022/12/09 18:39
- 化学 水ガラスの取り扱いについて 1 2022/04/10 17:22
- 不妊 不妊治療で胚盤胞2個移植 1 2023/04/10 17:27
- 宇宙科学・天文学・天気 人類が本気で「火星移住」を計画しているようですが、そんな事して意味あるのでしょうか? 8 2022/05/10 23:50
- その他(自転車) おすすめの自転車(ミニベロ)を可能なら理由も一緒に教えてください 5 2023/03/02 14:09
- ガーデニング・家庭菜園 鉢植え可能なレモンの木を育てたいが、いずれ転居する可能性が高い。庭に植えるか、鉢植えのまま育てるか。 1 2022/07/31 21:26
- LINE LINE androidスマホからiPhoneへの複数回移行について 1 2022/12/14 15:01
- その他(法律) 普通車の名義変更を行わない(行えない)場合のデメリットについてお聞かせください。 状況 夫 普通自動 9 2022/09/23 08:03
- 性病・性感染症・STD ヘルペスと仕事 こんにちは ずっと気になっていることがあり、皆さんの意見を伺いたく質問させていただき 1 2023/07/22 12:26
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Eclipseソース開発画面の行番号...
-
How to import HorizontalGridV...
-
TOMCATとANDROIDSTUDIOの違い
-
プログラミング言語について
-
今でも、TomcatとApacheの連結...
-
この便利な時代に開発環境すら...
-
仮想化OSの異なる開発環境で学...
-
android開発環境アンインストール
-
iPodでゲームソフトを製作する方法
-
プログラムを教えてください。...
-
vba クリップボードクリアにつ...
-
Javaでのエラーについて
-
gitでバージョン指定してダウン...
-
Pythonを勉強する道のり
-
MSFormsとは何ですか?
-
EclipseでJavaコンパイラのバー...
-
JSFで、マネージビーンに画面の...
-
IISワーカープロセスが原因でCP...
-
JSPファイルで生じるエラーをど...
-
javacのコンパイルでファイルが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Eclipseソース開発画面の行番号...
-
オブジェクト指向について
-
プログラミング開発経験とは?
-
JavaMailを使う前のTomcatの設定
-
「C#ができればJavaもできる」...
-
この便利な時代に開発環境すら...
-
プログラミング言語について
-
eclipseでtomcatを使うには
-
JAVAを使って管理システムを構...
-
文字列に半角スペースがあるか...
-
今でも、TomcatとApacheの連結...
-
Javaでバッチ処理
-
PowerBuilderの知識が必要です。
-
ファイルアップロード時の文字...
-
PL/SQLを使った開発について質...
-
Linux上でのゲーム開発環境につ...
-
C言語によるバイナリファイルの...
-
Java案件で、業務内容に製造以...
-
TOMCATを使用したStrutsについて
-
androidアプリ開発における白黒...
おすすめ情報