[開発言語]VB6.0 SP6
[実行環境]Win2000(SP4)→WinXP(SP2)
実行環境の移行に備えて、事前調査をしたいと思っております。
その際、注意すべきポイントをアドバイスしていただければ
と思い、質問させていただきました。
過去ログに対し、[XP]で検索し、特にXPへの乗せ換え注意事項が
見つからず、ウェブで、[VB6.0 XP 乗せ換え]等で検索してみても
特に、これだ!というのは見当たりませんでした。
いずれは全ての機能に対し、テストを行うと思うのですが、
数日掛けてXP環境で動作させて見て、乗せ換えの場合の工数を
割り出すため、ある程度ポイントを絞りたいと考えております。
私の現時点での調査ポイントは、以下のようなものなのですが、
特に気にする程では無い物や、考慮していた方が良いものが
ありましたらご指摘願えますでしょうか。
又、XPの画面表示については、クラシック表示では無い方に、
適用して頂く方向なので、両方の表示形式に対応する必要は
ありません。
※レジストリ操作は不使用の為、記載無し。
・画面の表示や制御
※全角固定ピッチフォントの仕様変更は存じております。
・使用しているAPIの動作確認。
・サードパーティ製のActveX
・アイネットやフレックスグリッド等の標準外?のOCXの動作
・DOSコマンドを発行している処理
・SQL-Serverとの接続(RDO経由でのODBC接続)
※VBの標準関数で動きが異なることは考えていません。
ある程度、指標が欲しいと思っておりますので、
些細なことでもありましたら、ご指導願います。
以上です。
>又、XPの画面表示については、クラシック表示では無い方に、
>適用して頂く方向なので、両方の表示形式に対応する必要は
>ありません。
クラシック表示にしておいたほうがいいと思います。
クラシック表示でない場合だと画面がうまく表示しない場合がありますよ。
(どんな画面なのかわからないのでこのぐらいしかいえません)
その場合は画面の作り直しになります。
基本はこちらから。恐らくこれはチェック済みだと思いますが。
http://www.microsoft.com/japan/developer/windows/default.asp
以下の2つも要注意です。SetFocus APIと入力文字数制限の挙動が違う話です。
http://support.microsoft.com/default.aspx?scid=kb;ja;JP811469
http://support.microsoft.com/default.aspx?scid=kb;ja;418099
あん様ありがとうございます。
>クラシック表示にしておいたほうがいいと思います。
>クラシック表示でない場合だと画面がうまく表示しない場合がありますよ。
>(どんな画面なのかわからないのでこのぐらいしかいえません)
>その場合は画面の作り直しになります。
そうですねぇ、個人的にはクラッシク表示の方が楽で良さそうなのですが、
クラッシック表示だと、レガシーなインターフェースというイメージが
強く、お客さんが「XPらしく行こうよ!」てな流れになっております。
これについては、
クラッシック表示、XP表示スタイルどちらも事前調査を行い、
その見積もり比較で、どちらにしていただくか決めていただこうかと思います。
>その場合は画面の作り直しになります。
ただ、キャプションの表示調整や、各コントロールの表示色調整、
画面描画をロジックでリフレッシュする等の作業は覚悟しておりますが、
画面の作り直しまで、行わなくてはならないのでしょうか?
画面はさすがに掲示板に提示するわけには行きませんが、1024X768の画面サイズ
に対して、全画面で表示するものです。
適用アプリは複数ありますが、SDI、MDIそれぞれの形式のアプリがあります。
よろしければ、作り直しの理由をお聞かせ願えませんでしょうか。
以上です、ご回答頂き、本当にありがとうございました。
ひろ様、ご回答いただきありがとうございます。
MSさんの方は、とりあえずですがチェックしております。
ただ抜けはあると思いますが。。すみません。
今回、事前調査するにあたり、的を絞りたかったので、
上記のようなチェックと、この掲示板の利用を平行で
やらせてもらっているので、まだ調べていない部分が多々あると
思います。M(__)M
>以下の2つも要注意です。SetFocus APIと入力文字数制限の挙動が違う話です。
SetFocusということはVBの標準関数ということですか。
VBの標準関数については、事前調査では不要かなと考えておりましたが、
甘かったです。
サービスパックを当てていない場合、Format関数の挙動が異なるということは
しっていましたが、やはり色々あるのですね。
回避策もみましたが、DoEventsだと割込みを考慮しないといけないですし、
EXEファイルのプロパティ変更ですと、インストール後、お客さんにその作業を
お願いして頂かないといけないですし、ちょっと憂鬱です。
入力文字数制限については、「Manifest ファイル」という言葉自体、初めて
知りました。
まずは、2000とXPとの違いをしっかりと把握しないといけないことを認識しました。
ひろ様、ご回答いただき本当にありがとうございました。
2000とXPの相違点を理解した上で、MSDN,KD等を徘徊しようと思います。
(1日、2日では終わらないなぁ(^_^;))
また、勝手ではありますが、もし色々な情報をお持ちでしたら、
これからも宜しくご教授願えますでしょうか。
以上です。
クラシックとXPのタイトルバーなどの「枠」部分の違いにより、クラシックでつくった画面がXP画面では正しく表示されないという危惧はあんさんがしていますが、
結局のところデザイン時に画面を配置せずにコードで配置するようにしてあれば、WidthとScaleWidth、HeightとScaleHeightの差=枠の大きさというのがわかっていれば問題ないですな
通ってみたさん、ありがとうございます。
>結局のところデザイン時に画面を配置せずにコードで配置するようにして
>あれば、WidthとScaleWidth、HeightとScaleHeightの差=枠の大きさと
>いうのがわかっていれば問題ないですな
そうですね、そのように画面設計をしていればと思う今日この頃です。。
リサイズ等に対する表示の縮尺には対応しているのですが、初期起動時サイズ
は常に固定である為,デザイン時に画面設計しております。
.NETになるとコントロールに対し、アンカーを設定できると聞いているので、
デザイン時設計で、このように悩む必要は無くなっているのでしょうね。
画面表示に関しては、デザイン時での微調整程度の必要性しか
考えておりませんでしたが、
コードでの制御についても、この際考慮していこうと思います。
XPには、EXEのファイルプロパティに互換性タブがあったり、
XPスタイル(Luna)の視覚効果の有効無効設定があったりで、
OS知識の無さを反省しております。
通ってみたさん、本当にありがとうございました。
これからも宜しくご指導願います。
以上です。
これをみてみてください。
http://www.microsoft.com/japan/msdn/thisweek/vbxp/vbxp1.asp
画面の構成によっては、画面の一部が
黒くなる場合があります。
画面の構成を確認してください。
昨日は、このリンクを探せずにいて遅れてごめんなさい。
実際、Windows2000からWindowsXPに移行して
経験したものです。
あとVBで作成するとデフォルトではXPのテーマが新しいものでも
VBの画面はクラシック表示のままってことは認識していますか?
さきほどのリンクをみて確認してください。
>サービスパックを当てていない場合、Format関数の挙動が異なるということは
>しっていましたが、やはり色々あるのですね。
サービスパックがでる前だったので
互換モジュールをMSから提供してもらいました。
ツイート | ![]() |