Win98、VB5.0で作成したシステムがあります。
今回WinXP、VB6.0にバージョンアップをしたいと思います。
ただし、VBだけでなく、InputMan、SPREAD、VS-OCX、VBManも使用しています。
こちらのツールもバージョンアップをすることになったのですが、
VB6.0で読み込むと「VoDB」や「VideoSoftElastic」など
フォーム上に貼ってあるコンポーネントの種類が
「PictureBox」に変わってしまいました。
なぜこうなってしまうのかがわかりません。
もし対応方法など情報があれば教えてください。
よろしくお願いします。
VB5→VB6 への以降というのは、(他のバージョン間の以降に比べると)
さほど問題なく進む事が多いのですけれどね…。
> 「PictureBox」に変わってしまいました。
> なぜこうなってしまうのかがわかりません。
コンポーネントのロードに失敗した場合、それらは
PictureBox を使って代替されます。
> もし対応方法など情報があれば教えてください。
1. *.frm に対応する *.frx を、誤って消していませんか?
2. プロジェクトは、(*.frm からではなく)*.vbp から開いていますか?
3. それぞれのコンポーネントは正しくインストールされていますか?
4. Windowsには、十分な権限(例:Administrator)でログインしていますか?
5. ロード時のエラーログに、何か追加情報は書かれていませんでしたか?
早速返信ありがとうございます。
>1. *.frm に対応する *.frx を、誤って消していませんか?
削除していません。すべて存在していました。
>2. プロジェクトは、(*.frm からではなく)*.vbp から開いていますか?
vbpファイルから開きました。
>3. それぞれのコンポーネントは正しくインストールされていますか?
バージョンアップ後のコンポーネントをインストールしています。
InputMan、SPREAD、VS-OCX、VBManもバージョンアップしたため、
これが影響していると思いますが・・・。
>4. Windowsには、十分な権限(例:Administrator)でログインしていますか?
administrator権限のユーザーでログインしています。
>5. ロード時のエラーログに、何か追加情報は書かれていませんでしたか?
「行 324: クラス VBMOD32Lib.VoDB(コントロール ○○) はロードされていません。」
という情報が出力されていました。
これはVBManのバージョンアップに伴う修正が必要で
「VBMODBCLibCtl.odbcConnect」に修正すればよいという情報が
プログラム・ガイドに記述されていました。
この修正をしてもプロジェクト読み込み時に「PictureBox」になってしまいます。
> バージョンアップ後のコンポーネントをインストールしています。
> InputMan、SPREAD、VS-OCX、VBManもバージョンアップしたため、
> これが影響していると思いますが・・・。
新規プロジェクトを作成し、そこに、該当するコンポーネントを
すべて貼り付けてから、そのまま保存してください。
そうして、新たに作成された *.vbp ファイルをメモ帳等で開き、
Reference 行
Object 行
の記述を真似て、元の vbp を編集してみては如何でしょう。
で、それでも駄目なようならば、コンポーネントのバージョンアップに伴い、
コントロールの永続化情報に互換性がなくなっているのかも知れません。
その場合は、旧コンポーネント + VB5 環境でプロジェクトを開き、
それぞれのコンポーネントを取り除いて(コードはそのままでOK)から、
そのプロジェクトを VB6 環境で開きなおしてから、新コンポーネントを
貼り直すようにすれば OK でしょう。
ありがとうございます。
>そうして、新たに作成された *.vbp ファイルをメモ帳等で開き、
> Reference 行
> Object 行
>の記述を真似て、元の vbp を編集してみては如何でしょう。
一度、上記の方法で試してみたいと思います。
ツイート | ![]() |