- PR -

VB6.0→VB.NETへの移行(API関数)

1
投稿者投稿内容
Dr’アライ
会議室デビュー日: 2003/08/07
投稿数: 19
投稿日時: 2003-08-07 13:43
ほとんどの場合、Windows API には、対応する .NET Framework が提供するクラスライブラリがありますので、書き換えることができます。
↑↑↑↑とMSDNに記述されていたので、変換をしようと思いAPI関数と同様のものを.NET FrameworkのHELPで探していたのですが?思うように見つかりません(汗

APIをそのまま.NETで使用しても良いのだと思いますが、Frameworkに変換するのを(推奨)していたので変換しようと思っています。
変換したいAPI関数が膨大にあるため、何か良い方法はないのでしょうか?
また、皆さんの場合変換していますか?ご意見などもお聞かせください。
メタル
会議室デビュー日: 2003/08/05
投稿数: 5
投稿日時: 2003-08-07 17:01
こんにちは。

私も最近.NETをはじめたばかりのもので、詳しくはないのですが、
アップグレートツールがあります。
下記によると95%まで自動アップグレートしてくれるみたいです。
その際APIをFrameworkに変換するかまでは分かりませんが。

http://www.microsoft.com/japan/msdn/net/vbtransitionguide/chapter1/chapter1_4.asp
Dr’アライ
会議室デビュー日: 2003/08/07
投稿数: 19
投稿日時: 2003-08-08 09:06
こんにちわ、メタルさん
回答ありがとうございます。

そうなのです、ほぼ自動でアップグレートしてくれるみたいなのですが、
API関数はそのままでも.NETで使用が可能なため、アップグレードを行って
くれないみたいです。
http://www.eu.microsoft.com/japan/msdn/net/vbtransitionguide/chapter4/chapter4_14.asp


しかし、MSDNを参照するとAPIを.NET Frameworkに置き換えることを推奨します。
と記述されているんです。
推奨するのなら、自動でアップグレードをしてくれっ!
という気持ちになるのは私だけでしょうか?
kankiti
会議室デビュー日: 2003/06/25
投稿数: 13
投稿日時: 2003-08-11 18:30
アップグレードにも限界があるようですが、私は、@NET2002を使用して
いますが、後輩から頼まれてVB6.0のソースを@NETで開いてコンバート
しようとしましたが、できませんでした。途中でエラーが発生してうまく
コンバートできませんでしたね。
で、いろいろホームページをみてたんですが、コンバートがうまくいった
としても、VB6.0から@NETに変わった際に名前が変わっているインタフェース
とかあるようで、そこらへんは、また、ひとつひとつみながら変更しないと
いけないようなことがかかれていました。
以前、VC++6.0のものとVC++@NETにコンバートするのはうまくできましたけど
AOPP
ベテラン
会議室デビュー日: 2002/11/18
投稿数: 66
投稿日時: 2003-08-11 22:43
aoppです。

以前 プリンタ関連のコンバージョンを行いましたが、API関連は、ほとんどエラーになってしまいAPIの部分のみラッパー機能(VB6のDLL)を使うことにして、保留中です。

構造体の部分が変換出来ないようです。(any型)
Dr’アライ
会議室デビュー日: 2003/08/07
投稿数: 19
投稿日時: 2003-08-12 09:29
メタルさん、kankitiさん、AOPPさん、こんにちわ。

貴重な意見ありがとうございます。
結局、手動で変換するしか方法がないようなので地道にコツ×A行っています。
変換のコツもわかってきたので、1つ1つHelpで調べながら変換しています。
キョウ
常連さん
会議室デビュー日: 2003/04/30
投稿数: 49
投稿日時: 2003-08-12 11:36
アップグレードウィザードがVS.NET2003で精度が2002時代よりも
よくなったとどこかで見ました。実際どうなんでしょ?
Dr’アライ
会議室デビュー日: 2003/08/07
投稿数: 19
投稿日時: 2003-08-21 10:01
現在VS.NET2003を使用しているのですが、2002とのアップグレードウィザードの違いは
ユーザーコントロールおよび WebClass のアップグレードをサポートしているらしいですよ。
1

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