C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: VB.NETアップグレードについて


(過去ログ 47 を表示中)

[トピック内 7 記事 (1 - 7 表示)]  << 0 >>

■25733 / inTopicNo.1)  VB.NETアップグレードについて
  
□投稿者/ オガシン (99回)-(2008/09/25(Thu) 11:30:34)

分類:[.NET 全般] 

オガシンです。お世話になっております。

VB6以前→VB.NETへ移行する際に
既存ソースコードをVB.NETのアップグレードツールにて
自動変換をかける手法があると思います。
(個人的にはすごくいやなんですが)

ですがアップグレードツールで変換をかけたソースを
VB.NETの様に変換しろっと言われました。
ということで元のVB6以前のソースコードに手を加えています。
(テキストベースで置換プログラムを組みながら)

ここで問題になってきたのが以下の部分です。
・コントロール配列の分解(VB6.ButtonArrayはNG;;)
・ファイルアクセス周りの処理(FileOpenはまずい雰囲気)
・DAO(ADO)→ADO.NETの変換

これを機械的にやるのは相当手間な気がしてなりません。
(というか無理じゃないでしょうか。。)
上記のことをしたことある人がいましたら教えて頂けませんか?

これだったら作り直したほうが早いだろっ
等のアドバイス、意見とうもありましたらお願いします。
なんとか上を説得するネタの参考にさせて頂きたいと思っています。

変な質問ですがよろしくお願いしますm(__)m
引用返信 編集キー/
■25734 / inTopicNo.2)  Re[1]: VB.NETアップグレードについて
□投稿者/ ネタ好き (649回)-(2008/09/25(Thu) 11:37:25)
無理です。作り直したほうが早いです。
引用返信 編集キー/
■25735 / inTopicNo.3)  Re[2]: VB.NETアップグレードについて
□投稿者/ オガシン (100回)-(2008/09/25(Thu) 11:42:35)
No25734 (ネタ好き さん) に返信
> 無理です。作り直したほうが早いです。

返信ありがとうございます。
それを数字で出さないと俺はわからないんだよねー
とか言われております。。。

個人的にも無理を言われていると感じていますOrz
引用返信 編集キー/
■25737 / inTopicNo.4)  Re[1]: VB.NETアップグレードについて
□投稿者/ も (43回)-(2008/09/25(Thu) 12:02:35)
No25733 (オガシン さん) に返信
> オガシンです。お世話になっております。
>
> VB6以前→VB.NETへ移行する際に
> 既存ソースコードをVB.NETのアップグレードツールにて
> 自動変換をかける手法があると思います。
> (個人的にはすごくいやなんですが)
>
> ですがアップグレードツールで変換をかけたソースを
> VB.NETの様に変換しろっと言われました。
> ということで元のVB6以前のソースコードに手を加えています。
> (テキストベースで置換プログラムを組みながら)
VB6からアップグレードツールを使ってVB.NETのソースを出力して,そのソースをVB.NET風にしてね!
っていわれてるの…?


> ここで問題になってきたのが以下の部分です。
> ・コントロール配列の分解(VB6.ButtonArrayはNG;;)
> ・ファイルアクセス周りの処理(FileOpenはまずい雰囲気)
> ・DAO(ADO)→ADO.NETの変換
あと構造化例外処理とか…とか.

> これを機械的にやるのは相当手間な気がしてなりません。
> (というか無理じゃないでしょうか。。)
> 上記のことをしたことある人がいましたら教えて頂けませんか?
>
> これだったら作り直したほうが早いだろっ
> 等のアドバイス、意見とうもありましたらお願いします。
> なんとか上を説得するネタの参考にさせて頂きたいと思っています。
>
> 変な質問ですがよろしくお願いしますm(__)m
アップグレードツールもVB.NETも使いこなせてないですが.
具体的な数値で比較できるものなのかな?
・VB6の機能に1対1変換できそうなコントロール配列XX点の変換
・ファイルアクセス周りの必要な処理の再設計YY点
・データベース周りの必要な処理の再設計ZZ点
→それぞれに〜日かかる
って比較・検討してみるとか.

でも多分「機械処理できなかった部分と噛み合わせる部分の再実装」がキモになると思うので,
手っ取り早く作り直したほうが気分的(対ヒューマンエラー的に)楽な気がする.
引用返信 編集キー/
■25739 / inTopicNo.5)  Re[2]: VB.NETアップグレードについて
□投稿者/ オガシン (102回)-(2008/09/25(Thu) 12:30:10)
No25737 (も さん) に返信
> VB6からアップグレードツールを使ってVB.NETのソースを出力して,そのソースをVB.NET風にしてね!
> っていわれてるの…?
まさしくその通りです。アップグレード後がVB.NET風じゃなければVB6のコードを機械処理
してアップグレードしてね。って感じです。

> 具体的な数値で比較できるものなのかな?
> ・VB6の機能に1対1変換できそうなコントロール配列XX点の変換
> ・ファイルアクセス周りの必要な処理の再設計YY点
> ・データベース周りの必要な処理の再設計ZZ点
> →それぞれに〜日かかる
> って比較・検討してみるとか.
>
> でも多分「機械処理できなかった部分と噛み合わせる部分の再実装」がキモになると思うので,
> 手っ取り早く作り直したほうが気分的(対ヒューマンエラー的に)楽な気がする.
手順と作業量がある程度明確にならないと納得してもらえないですよね。
返信ありがとうございます。色々検討してみますm(__)m

引用返信 編集キー/
■25743 / inTopicNo.6)  Re[3]: VB.NETアップグレードについて
□投稿者/ やじゅ (667回)-(2008/09/25(Thu) 13:35:35)
やじゅ さんの Web サイト
No25739 (オガシン さん) に返信

DevPartnerを販売している、日本コンピュウェア(株)のサイトです。
ダウンロードには登録が必要なのが、ちと痛いところですが
まー別に登録は無料なので

既知内容かも知れませんが、参考までに
White Paper NET トピックス(ダウンロードには登録が必要です)
・Visual Basic 6からVB.NETへの移行(PDF) 10頁
http://www.compuware.co.jp/products/devpartner_fm/library/dps_library.html
引用返信 編集キー/
■25802 / inTopicNo.7)  Re[4]: VB.NETアップグレードについて
□投稿者/ オガシン (107回)-(2008/09/26(Fri) 10:02:15)
調べた結果がありますので報告させていただきます。

左がVB6、右がVB.NETです。
右側はMSアップデートツールを使用した場合に変換されるものです。

@ファイル操作
Open → FileOpen関数
#Streamを使用するのが一般的
#FileOpen関数は速度が低下する可能性があるとのこと。

Aデータベース操作
DAO → 変換されず
ADO → そのまま
#ADO.NETに置き換えるべき。
#ActiveXなのでそのまま使うとCOMの解放が必要。
#ADOではDataGridViewを使えない。(DataSetに置き換える必要がある)

Bエラーハンドリング
On Error GoTo ... → そのまま
#構造化エラーハンドラー(Try〜Catch)使う。
#On Error GoToでは速度が低下する可能性があるとのこと。

Cコントロール配列
コントロール配列 → Microsoft.VisualBasic.Compatibility.VB6.LabelArray
           Microsoft.VisualBasic.Compatibility.VB6.ButtonArray etc...
#配列にするなら自分でList<Button>などを使用したほうが良さそう。

@〜Cを機械的に置き換えようとしましたが無理でした。(あたりまえやんけーOrz
なので.NET風にするのはムリ!!ってことで話をしました。
MSアップデートツール使用後上記を編集するのに6割ほどソース編集しました。
(作り直してるのとかわらねぇ。。。)
#分かりきったことを理解してもらうのに時間かかったなぁ。
#もう少し周りの人もこの辺のことを分かってほしいんだけどなぁ

皆様アドバイスありがとうございましたm(__)m

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -