- PR -

VB6⇒VB.NET移行作業について

投稿者投稿内容
キヨ
ベテラン
会議室デビュー日: 2004/08/24
投稿数: 65
投稿日時: 2005-06-07 11:36
こんにちは

現在、VB6のシステムをVB.NETに移行しようと考えてます。
VisualStudio2003にてVB6のソースを読み込んで、
単純アップグレードしましたが、多くの「エラー・警告」が出ました。

「エラー・警告」すべて解決しなければ、
動かないのでしょうか。
それと、もっと効率のよい移行方法はないものでしょうか。

ご教授下さい。
たつごろー
ぬし
会議室デビュー日: 2004/10/25
投稿数: 496
投稿日時: 2005-06-07 11:42
基本的に全部チェックする必要があります。
具体的にはどういうものがでましたか?

_________________
たつごろー
codeseek
こみゅぷらす
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-06-07 11:45
こんにちは、じゃんぬ です。

引用:

現在、VB6のシステムをVB.NETに移行しようと考えてます。
VisualStudio2003にてVB6のソースを読み込んで、
単純アップグレードしましたが、多くの「エラー・警告」が出ました。
「エラー・警告」すべて解決しなければ、
動かないのでしょうか。
それと、もっと効率のよい移行方法はないものでしょうか。


はい、解決しないといけません。
VB2002、2003 は、あまり互換を意識していないので、
出来上がったソースは参考程度と思ってください。
どちらにしても、.NET Framework 色なソースに書き直さなくてはいけません。
ビジネスロジックはそのままで良いでしょうが、UI に関する部分は特に注意が要ります。
また、COM を使用している場合も注意してください。

VB2005 では互換が重視されているようです。
(それが良いのか悪いのかは別ですが)



_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
キヨ
ベテラン
会議室デビュー日: 2004/08/24
投稿数: 65
投稿日時: 2005-06-07 15:24
返答ありがとうございます。

具体的には、以下の様な、エラーが多数出ています。。
「例外が発生しました : ActiveX コントロール配列エクステンダをコンパイルできませんでした。」
「オブジェクト EmpDynaset.dbmovefirst の既定プロパティを解決できませんでした。」
「IsNull Null/IsNull() の使用が見つかりました。」
「オブジェクト CHK_HakDt の既定プロパティを解決できませんでした。」

あと、
スプレットやインプットマンを使用しているVB6をアップグレードすると
エラーになるようです。(VB.NET版がないので当たり前でしょうが。。)
やはり、その辺りは、すべて作り変えになるのでしょうか?

VB2005では、どの辺りまで互換が対応しているのですか?
大まかな質問ですみません。


ぼのぼの
ぬし
会議室デビュー日: 2004/09/16
投稿数: 544
投稿日時: 2005-06-07 15:55
引用:

キヨさんの書き込み (2005-06-07 15:24) より:
あと、
スプレットやインプットマンを使用しているVB6をアップグレードすると
エラーになるようです。(VB.NET版がないので当たり前でしょうが。。)
やはり、その辺りは、すべて作り変えになるのでしょうか?


ここでいう「ない」ってのは、マシンにインストールされてない、って意味ですよね?
製品としては、存在するみたいです。

http://www.grapecity.com/japan/support/database/DOTNET_ProductList.htm

とはいえ、基本的には作り変えになる気がしますが…(^^;
VB6からの移行についてはあまり詳しくないので細かいことはわかりませんが、製品側に移行ツールみたいなのがついてなければ、手作業になるんでしょうね…
桜緋女
常連さん
会議室デビュー日: 2004/09/15
投稿数: 46
投稿日時: 2005-06-07 16:04
こんにちは。桜と申します。
私も現在、VB6からVB.NETの移行に関わっておりますが、
私の正直な感想としては、
「アップグレードウィザードなんか使わずに
一から手作業で作り直したかった!!
・・・・・・そんな決定権持ってないけど・・・・」
です。

特に、もともとのVB6のコードがシンタックス・シュガーを多用している場合は
要注意です。
ひょっとしたら、最初から手作業のほうが早いことも。
たとえば、TextBox1.TextのTextを省略している個所がたくさんあるとか。
会議室デビュー日: 2005/05/07
投稿数: 13
お住まい・勤務地: 北海道はでっかいどう
投稿日時: 2005-06-07 16:05

個人的な意見というか独り言というか・・

VB6とVB.NETでは、言語レベルで全く違うので
根底のビジネスロジックを除いては
設計を1から見直すのが一般的だと思います。
VB6のソースは、基本的に使えないと考えとよいと思います。
たつごろー
ぬし
会議室デビュー日: 2004/10/25
投稿数: 496
投稿日時: 2005-06-07 16:17
ここ読んでなかったらまずは一通りよんでみて。

VB マイグレーション センター
http://www.microsoft.com/japan/msdn/vbasic/migration/default.mspx
_________________
たつごろー
codeseek
こみゅぷらす

スキルアップ/キャリアアップ(JOB@IT)