VB6→VB.NETへの移行時に


ゆっきぃ  2004-11-16 23:22:42  No: 117629

初めまして、このたび開発環境がVB6→VB.NETに移行するということになり
今まで使用していた資産を、VB.NETにアップグレードすることになりました。
ところが、Comdlg32.ocxを使用している部分で、エラーが発生してしまい、どうしてもうまく行きません。

ファイルのコピーだけの問題かと思い、Comdlg32.ocxをc:\Windows\System32\の下に入れて、REGSVR32を実施して、レジストリに登録を行いました。
すると、使用するライセンスがどうのこうのというエラーが発生してしまいました。

どなたか同じような事象に遭遇した方がいらっしゃいましたら、どのように回避を行なったかをご教授いただけたら幸いです。

よろしくお願いいたします。


raki  URL  2004-11-16 23:47:10  No: 117630

Common Dialog Controlコントロールをどう使われているかは
知りませんが、ほとんどのものは
.NET Framework に標準で存在します。

OpenFileDialogクラス:[ファイルを開く]ダイアログボックス
SaveFileDialogクラス:[ファイル名を付けて保存]ダイアログボックス
FolderBrowserDialogクラス:[フォルダの選択]ダイアログボックス
FontDialogクラス:[フォントの指定]ダイアログボックス
ColorDialogクラス:[色の設定]ダイアログボックス
などなど。

何から何まで移植するのではなく、
.NET Frameworkのクラスに存在するものは、
.NET Frameworkのクラスに置き換えるようにしたほうが
いいのではないでしょうか。


特攻隊長まるるう  2004-11-17 21:13:19  No: 117631

raki さんに付け足してですが、

アップグレードウィザードは、あくまで参考として使うなら
いいのですが、[VB.NET]の資産となるようなコードはできない
と思った方が良いです。例えば標準装備のリッチテキストボックス
コントロールも
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200411/04110044.txt
でねろさんが変換時のコードを書かれてますが、[VB.NET]版の
リッチテキストに置き換わるのではなく、[VB6.0]版をライブラリ化
して使おうとします。変換ツールを汎用的にするには仕方の無い
事かもしれないですが、色々と問題を発生させる要素となります。
対応外のプロパティとかもありますし、コードの書き方が変わったと
思って良いでしょう。あくまで[VB.NET]版は[VB.NET]で改めて
人間が作らないと、使えるコードは作成できないと思っています。


ねろ  2004-11-18 23:10:39  No: 117632

若干の誤解があるようで。。
VB6のコントロールとVB.NETのコントロールは名前が同じでも別物です。
VB.NETのコントロールに無いフィーチャーがVB6のコントロールにある場合は
VB6のコントロールを使うことも視野に入れなければなりません。
私がVB6のコントロールを使ったのは、レスに書きましたが
質問がドラッグ&ドロップの件と勘違いしたためです。
VB.NETのRichTextBoxはOLEのドラッグ&ドロップに対応していない
ようなので、ドラッグ&ドロップをしたいのであれば必然的に
「Microsoft Rich Textbox Control6.0」を使わざるを得ない状況です。

質問者の「ゆっきぃ」さんは質問のようなトラブルに陥っています。
原因に対する解答が先ず先で、次にアドバイスでは。
と言うことで質問に関する答えですが、
私の環境では問題なく動作します。VB6の開発環境が入っていないとか。


ねろ  2004-11-19 05:49:59  No: 117633

訂正
>VB.NETのRichTextBoxはOLEのドラッグ&ドロップに対応していないようなので
と書きましたがAdd handlers を使えば出来るようですね。
http://www.syncfusion.com/FAQ/WinForms/FAQ_c89c.asp


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加