投稿日 | : 2004/09/13(Mon) 12:22 |
投稿者 | : 魔界の仮面弁士 |
Eメール | : |
URL | : |
タイトル | : Re: VB4→VB6への移行 |
VB4に付属していた
ANIBTN32.OCX
GAUGE32.OCX
GRID32.OCX
KEYSTA32.OCX
MSOUTL32.OCX
SPIN32.OCX
THREED32.OCX
および、VB5に付属していた
DBGRID32.OCX
MSCHART.OCX
については、VBのセットアップ時にはインストールされませんが、移行作業用のために、
英語版および日本語版のコントロールとヘルプが、CD-ROMの奥深くに眠っています。
(詳細は README.TXT を御覧下さい)
まずはこれらをインストールして、VB4プロジェクトをアップグレードしてみてください。
その後で、個々のコントロールを、VB6版のコントロール群に置き換えていくと良いでしょう。
> 3D チェック ボックス
> 3D コマンド ボタン
> 3D フレーム
> 3D グループ プッシュボタン
> 3D オプション ボタン
> 3D パネル
THREED32.OCXに相当するコントロールは、特に用意されていません。
「3Dでの表現」を必ずしも必要としないのであれば、これらのコントロールを
標準コントロールに手動で置き換えていくのも、一つの選択肢となりえるかと。
VB4当時は、コマンドボタンに色をつける為に、3D コマンドボタンが利用される
ケースも多かったのですが、現在では、標準コマンドボタンのStyleプロパティを
変更することで、BackColorを変更できるようになっています。もしもForeColorも
変更したいのであれば、Styleを変更したCheckBoxがコマンドボタンの代用となります。
なお、THREED32.OCXは元々、SS社(米国 Sheridan Software Systems)から
OEM提供されていた、機能限定版のコントロール群です。市販の「ActiveThreeD」や
「ActiveThreeD Plus」が、その製品版となりますので、そちらを利用するという
選択肢もあります。
これら ActiveThreeDシリーズに関しては、miyaさんも書かれていますように、
グレープシティ株式会社によって日本語化が行われています。下記を参照してください。
hhttp://www.grapecity.com/Japan/
> スピン ボタン
SPIN32.OCX の代用として、MSCOMCT2.OCX に含まれている「UpDownコントロール」を
使う事が出来ます。なお、VB6のヘルプには下記の記述があります。
》 Visual Basic 4.0 のスピン ボタン (SpinButton) コントロールの代わりに
》 アップダウン コントロールを使ってください。
> アニメーション ボタン
ANIBTN32.OCX に相当するコントロールも、特に用意されていません。
(Animation コントロールならありますが、これは別物です)
同等機能を自作するか、実装を諦めてください。
なお、ANIBTN32.OCXは元々、Desaware社からOEM提供されていたコントロールなので、
こちらも、市販パッケージに移行するという選択肢があります。
> ゲージ
GAUGE32.OCX ほどの表現力はありませんが、COMCTL32.OCX に含まれている
「ProgressBarコントロール」である程度の代用が効きます。ゲージとの互換性は
ありませんが、多くのアプリケーションでは、このProgressBarコントロールを
進捗表示に利用していますので、可能であれば、ProgressBarに乗り換える事を
個人的にはお奨めします。
> グリッド
GRID32.OCX に近い機能を持っているのは、MSFlexGrid コントロール、および
MSHFlexGrid コントロールです。互換性はありませんが、プロパティやメソッドには
共通する部分も多いので、移行作業は、さほど難しくは無いと思います。
> キー ステータス
KEYSTA32.OCX の代替コントロールはありませんが、CAPS LOCK等の状態を表示するために、
StatusBarコントロールを利用する事ができます。ただし、状態を変更させる事は
できません。もしも状態を変更させたいなら、APIの呼び出しが必要となります。
> アウトライン
MSOUTL32.OCX の互換コントロールはありませんが、COMCTL32.OCX に含まれている
TreeViewコントロールを使うことで、階層表示が可能です。
それから、今回の質問には含まれていませんでしたが、グラフコントロール(Graph32.OCX)も
現在ではサポートされていないコントロールです。これに関しては、VB6の
チャートコントロール(MSChart.OCX)にて代用してみてください。
> 1)VB4→VB6の作業で注意すべき点等あればどんな情報でも良いので教えてください。
まずは、ここからでしょう。
hhttp://support.microsoft.com/default.aspx?scid=kb;ja;412580
それと、(もしお持ちであれば)VB5のヘルプおよびBooks Onlineも参照してみてください。
そこには、VB4→VB5への移行に関する資料が掲載されていたと思います。
また、VB6のヘルプにも、VB5からの新機能が掲載されていますので、
これらを併せて読めば、VB4→VB6への作業を進める事ができるかと。
あと、以降元となるVB4側は、Update2等を適用して、最新版にしておいてください。
hhttp://www.microsoft.com/japan/msdn/vs_previous/vbasic/Update/vb4update.htm
VB6側については、こちら。
hhttp://www.microsoft.com/japan/msdn/vstudio/downloads/sp/VS6SP.asp
hhttp://www.microsoft.com/japan/msdn/vstudio/downloads/sp/VS6SP6.asp
それ以外の注意点としては、「MDAC(Microsoft Data Access Components)」の存在があります。
VB4の頃は、開発元のIEバージョンと、配布先のIEバージョンの違いによって、インストール時に
問題が出る事がありましたが、VB6の場合は、この「MDAC」の違いが重要になってきます。
・基本的に、MDACのバージョンダウンは出来ない。
・VBのService Pack等では、MDACは自動的には更新されない。手動で更新する事。
・最近のOSdは、特定バージョンのMDACが始めからインストールされている。
・下位バージョンのMDAC環境でコンパイルされたexeは、上位バージョンのMDAC環境でも動作する。
・MDAC 2.5以上には、JETやODBC関連のコンポーネントが含まれていない。
> 2)VB4付属のクリスタルレポートとからVB6付属のクリスタルレポートへの移行は
> どのような手順になるのでしゅか?
# ……でしゅか → でしょうか? (^^;
VB6付属のクリスタルレポートのメジャーバージョンは、VB5付属版の物と
全く同一ですので、VB5版からであればそのまま利用できるはずですが、
VB4版クリスタルレポートからの移行に付いては、私は経験が無いのでわかりません。
ただ、機能的な違いはさほどありませんので、ソースコード自体の修正は、
さほど多くないとは思います。問題は、レポートファイルが、新バージョンで
利用できるかどうか…でしょうか。