初めまして、このたび開発環境がVB6→VB.NETに移行するということになり
今まで使用していた資産を、VB.NETにアップグレードすることになりました。
ところが、Comdlg32.ocxを使用している部分で、エラーが発生してしまい、どうしてもうまく行きません。
ファイルのコピーだけの問題かと思い、Comdlg32.ocxをc:\Windows\System32\の下に入れて、REGSVR32を実施して、レジストリに登録を行いました。
すると、使用するライセンスがどうのこうのというエラーが発生してしまいました。
どなたか同じような事象に遭遇した方がいらっしゃいましたら、どのように回避を行なったかをご教授いただけたら幸いです。
よろしくお願いいたします。
Common Dialog Controlコントロールをどう使われているかは
知りませんが、ほとんどのものは
.NET Framework に標準で存在します。
OpenFileDialogクラス:[ファイルを開く]ダイアログボックス
SaveFileDialogクラス:[ファイル名を付けて保存]ダイアログボックス
FolderBrowserDialogクラス:[フォルダの選択]ダイアログボックス
FontDialogクラス:[フォントの指定]ダイアログボックス
ColorDialogクラス:[色の設定]ダイアログボックス
などなど。
何から何まで移植するのではなく、
.NET Frameworkのクラスに存在するものは、
.NET Frameworkのクラスに置き換えるようにしたほうが
いいのではないでしょうか。
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]で改めて
人間が作らないと、使えるコードは作成できないと思っています。
若干の誤解があるようで。。
VB6のコントロールとVB.NETのコントロールは名前が同じでも別物です。
VB.NETのコントロールに無いフィーチャーがVB6のコントロールにある場合は
VB6のコントロールを使うことも視野に入れなければなりません。
私がVB6のコントロールを使ったのは、レスに書きましたが
質問がドラッグ&ドロップの件と勘違いしたためです。
VB.NETのRichTextBoxはOLEのドラッグ&ドロップに対応していない
ようなので、ドラッグ&ドロップをしたいのであれば必然的に
「Microsoft Rich Textbox Control6.0」を使わざるを得ない状況です。
質問者の「ゆっきぃ」さんは質問のようなトラブルに陥っています。
原因に対する解答が先ず先で、次にアドバイスでは。
と言うことで質問に関する答えですが、
私の環境では問題なく動作します。VB6の開発環境が入っていないとか。
訂正
>VB.NETのRichTextBoxはOLEのドラッグ&ドロップに対応していないようなので
と書きましたがAdd handlers を使えば出来るようですね。
http://www.syncfusion.com/FAQ/WinForms/FAQ_c89c.asp
ツイート | ![]() |