文書番号: 402633
最終更新日: 2004/04/01
この資料は以下の製品について記述したものです。
Microsoft(R) Visual Basic(R) Programming System for Windows(R) Version 2.0(以下 Visual Basic for Windows 2.0) Microsoft(R) Visual Basic(R) Programming System for Windows(R) Version 2.0Professional Edition (以下 Visual Basic for Windows 2.0 Pro) Microsoft(R) Visual Control Pack Custom Controls for Visual Basic(R) (以下Visual Control Pack) 概要
この資料は製品 (Visual Basic for Windows 2.0 Pro) 付属の README.TXT を元に、
最新の情報を追加したものです。なお、この資料の以前のリリース (95/05) より
追加、修正された項目は先頭が“*”になっています。
VB.EXE 実行環境 (オペレーティング システム)
Microsoft(R) Windows(R) Version 3.0A (以下 Windows 3.0A) 上にて 640 × 400
の解像度の機種で、Visual Basic の [ファイル] をマウスでクリックするとメ
ニュー バーの上に、ドロップ ダウン メニューが重なります。このときマウス
のボタンを押している時間が長いと、ドラッグ操作とみなされて [プロジェクト
を開く] が選択されてしまいます。
Windows 3.0A 上にて使用する場合、Windows の System ディレクトリに
SHELL.DLL が存在しない場合、VB.EXE の起動時に修復不可能なアプリケー
ション エラーが発生します。正しくセットアップした環境でご利用ください。
Microsoft(R) Windows(R) Operating System Version 3.1 (以下 Windows 3.1)
にインストールした場合、“ MS VFONT ”は登録されません。これは一部のアプリ
ケーションで印刷プレビューが正常に働かなくなることがあるためです。Windows
3.1 では“ MS VFONT ”を登録しないようにしてください。
プロジェクト
新規プロジェクトを作成するときのプロジェクト ウィンドウの位置は、
AUTOLOAD.MAK で指定されています。AUTOLOAD.MAK を保存するときにプロジェク
ト ウィンドウの位置を変えておけば、AUTOLOAD.MAK 中の指定を変更できま
す。AUTOLOAD.MAK の編集方法については、『プログラミング ガイド』の
「 5.7 AUTOLOAD.MAK ファイルの編集」を参照してください。
プロジェクト ファイル (.MAK) をエディタで編集することはなるべく避けて
ください。プログラムの読み込みや実行ファイルの作成ができなくなることが
あります。
テキスト形式でフォームの保存を行った場合、テキスト ボックス コントロール
の Height プロパティがデフォルトになる場合があります。テキスト ボックス
コントロールの Height プロパティを変更した場合は、バイナリ形式で保存を
してください。
ScaleMode プロパティに負の値を設定した場合には、必ずバイナリ形式でフォ
ームの保存を行ってください。テキスト形式でフォームの保存を行った場合、
コントロールの配置がおかしくなってしまいます。
編集
ヘルプからコードの例をコード ウィンドウにペーストするときに“プロシー
ジャ名が重複しています”エラーが発生する場合があります。この場合は、
重複するプロシージャ名を削除してください。
プロパティ ウィンドウに日本語文字列を入力する場合、一部の日本語入力
システムにおいて候補ウィンドウが表示された後に確定を行うと、日本語
入力システムがオフになってしまい入力が行えないことがあります。この
ような場合は、メモ帳などで入力したい文字列をあらかじめ確定しておき、
クリップ ボード経由で入力を行ってください。
コード ウィンドウにおいて [Ctrl] + [→] キーで移動を行った場合、“!”
記号より右に移動ができません。このような場合は、[→] キーで“!”より
右に移動させた後に処理を続けてください。なお、[Ctrl] + [←] キーでは
“!”より左に移動できます。
フォーム デザイン時において、フォーム間でコントロールのカット & ペー
ストを行った場合にコピー元のフォームを閉じてから貼り付けを行うと一般
保護違反が発生してしまいます。このような場合は、元のフォームを閉じない
でください。なお、アイコン化しておいた場合にはこの問題は発生しません。
フォーム デザイン時においてリスト ボックスを極めて小さくドラッグして
配置すると、一部のディスプレイ ドライバにおいて一般保護違反が発生する
場合があります。
プログラミング
べき乗を含む複雑な数式を実行すると“引数が有効範囲にありません”という
エラーが発生する場合があります。このような場合には数式を複数行に分けて
ください。
AddItem メソッド (リスト ボックス)
AddItem メソッドでリスト ボックスにデータを追加した後に ListIndex プロ
パティや TopIndex プロパティを設定し直してもスクロール バーが変更され
ません。この場合には AddItem メソッドでデータを“追加する前”に Refresh
メソッドで強制的に再描画を行わせてください。
AppActivate ステートメント
QueryUnload イベント中に存在しないアプリケーション名を指定して AppActivate
ステートメントを実行しないでください。行った場合の動作は保証されませんの
でご注意ください。
AutoSize プロパティ (ラベル)
ラベル コントロールの Caption プロパティに 2 バイト文字で 154 文字以上を
セットした場合、AutoSize プロパティを True にすると“スタック違反”エラー
が発生してしまいます。このような場合には AutoSize プロパティを False に
してください。
CCur、CDbl、CInt、CLng、CSng、CStr、CVar 関数
引数の長さが 32KB を越えている場合、一般保護違反が発生してしまいます。こ
れらの関数の引数は 32KB 以内にしてください。
Change イベント (テキスト ボックス)
フォームの Unload は行えません。行った場合の動作は保証されませんので
ご注意ください。
Change イベント (スクロール バー)
イベント プロシージャ内の処理に時間がかかる場合、マウスが押されたままの
状態になってしまうことがあります。スクロール バーの Change イベント内で、
時間のかかる処理は行わないでください。
Value を約半分の値に設定し Min の位置へドラッグした場合、Change イベン
トが発生しません。なお、一度別の位置へ移動させた後に Min の位置へドラッ
グした場合には、この現象は発生しません。
Columns プロパティ
リスト ボックスの Columns プロパティを 0 以外に設定した場合、画面上では
アイテムが横に表示されますが、PrintForm メソッドで出力したイメージでは
最初の 1 列しか出力されません。
Const ステートメント
左辺の型と違う型の定数を定義した場合、問題のない Declare ステートメント
で“プロシージャ名が重複しています”エラーが発生することがあります。
CSng 関数 Enabled プロパティ (メニュー)
Enabled プロパティが False の時、Checked プロパティが True の Caption
プロパティの内容を変更するとメニュー上のチェック マークが消えてしまい
ます。Enabled プロパティが False のチェック マーク付きメニューの
Caption プロパティの内容を変更する場合は、Enabled プロパティを True に
した後に行ってください。
Enabled プロパティ (テキスト ボックス) Erase ステートメント
Erase ステートメントを使用し静的配列の内容を初期化する場合、2 回目以降の
初期化が正常に行われません。配列が初期化されていることを前提にプログラム
している場合は、初期データを代入するなどして明示的な初期化を行うように
してください。
FileCopy ステートメント
コピーしようとしているファイルがコピー先に既に存在しており、そのサイズ
がコピー元より大きな場合、ファイルのオーバー ライトが正常に行えませ
ん。コピー先のファイルを Kill ステートメントによって削除してから
FileCopy ステートメントを実行してください。なお、ファイルの存在確認は
Dir$ 関数によって行うことができます。
Format$ 関数 FontName プロパティ (ドライブ リスト ボックス)
フォントを変更した場合、Visible プロパティや Enabled プロパティの内容が
False になってしまう場合があります。Visible プロパティおよび Enabled
プロパティが True の場合はフォントを変更した後に、明示的に True をセット
しなおしてください。
FontSize プロパティ (テキスト ボックス)
FontSize プロパティに極めて小さな値を設定した場合、正しく表示されない
ことがあります。
GotFocus および LostFocus イベント
イベント プロシージャの中でメッセージ ボックスを表示させた場合、その後
のキー入力が正常に行えなくなる場合があります。このような処理を行う場合
はメッセージ ボックスではなくフォームを使用してください。
GotFocus イベント (コンボ ボックス)
イベント プロシージャの中でリスト項目数を減らした場合、一部のディスプレ
イ ドライバでリストの高さが変更されないことがあります。
Height プロパティ (テキスト ボックス)
変更をした場合には、必ずバイナリ形式でフォームの保存を行ってください。テ
キスト形式でフォームの保存を行った場合、Height プロパティの値がデフォル
トになる場合があります。
Height プロパティの値を極めて小さくした場合、テキスト ボックスの内容が
表示されない場合があります。なお、Text プロパティの内容を参照することで、
現在の文字列を得ることは可能です。
If ... Then ... Else ステートメント
TypeOf キーワードを指定するときには、Not 演算子を使った比較はできません。
IMEMode プロパティ
IMEMode プロパティが 1 (オン) のテキスト ボックスに対して、SendKeys ス
テートメントで [TAB] キーを送ることでフォーカスを移動させた場合、日本語
入力システムがオンになりません。なお、SetFocus メソッドでフォーカスを
移動させた場合にはこの問題は発生しません。
InStr 関数
32768 バイト以上の文字列を指定した場合、戻り値が不正 (0) になります。こ
れは InStr 関数が、文字単位で処理をしているためで、このような場合は
InStrB 関数を使用してください。
KeyDown および KeyUp イベント
フォームの Unload は行えません。行った場合の動作は保証されませんので
ご注意ください。
KeyPress イベント
引数 KeyAscii の値を 2 バイト系の文字コードに変更して文字を変更すること
はできません。
フォームの Unload は行えません。行った場合の動作は保証されませんので
ご注意ください。
KeyPress イベント (テキスト ボックス)
MultiLine プロパティが True の場合、[Del] キーで KeyPress イベントが
発生してしまいます。
Load イベント
Load イベント内で他のフォームを表示させ、そのフォームの Load イベントで
アンロードを行うと、元のフォームの Show メソッドの位置で、“すでにアン
ロードされています”エラーが発生してしまいます。
PasswordChar プロパティ
PasswordChar プロパティが設定されている時、テキスト ボックス内で水平
スクロールをさせるとマウスでクリックした位置と表示位置がずれることが
あります。
Picture プロパティ (フォーム)
256 色のディスプレイ ドライバの環境で壁紙に 256 色のビットマップ ファ
イルを設定し、フォームの Picture プロパティに壁紙とは違う 256 色のビット
マップ ファイルを設定している場合、フォームをアイコン化した時にシステムの
レスポンスが極端に低下することがあります。複数の 256 色のビットマップ
ファイルを表示する必要がある場合には、Windows の設定を 65536 色以上に
するようにしてください。
PrintForm メソッド
リスト ボックスの Columns プロパティを 0 以外に設定した場合、画面上
ではアイテムが横に表示されますが、PrintForm メソッドで出力したイメージ
では最初の 1 列しか出力されません。
QueryUnload イベント
QueryUnload イベント中に存在しないアプリケーション名を指定して AppActivate
ステートメントを実行しないでください。行った場合の動作は保証されませんの
でご注意ください。
ScaleHeight プロパティ
負の値を設定した場合には、必ずバイナリ形式でフォームの保存を行ってくださ
い。テキスト形式でフォームの保存を行った場合、コントロールの配置がおかし
くなってしまいます。
SendKeys ステートメント
2 バイト系の文字を回数指定をして送ることはできません。
1 バイト系のカタカナと 1 バイト系の英数字が混在したキー ストロークを送る
場合には wait フラグに True を指定してください。
Stretch プロパティ
Stretch プロパティに True を設定し、拡大率が極めて大きくなるようにイメー
ジのサイズを大きくすると、再描画が正しく行われない場合があります。
TabIndex プロパティ
* 255 個以上の要素を持つコントロール配列を作成した場合、TabIndex プロパ
ティの値が 255 を越えた時点で再度 0 から割り付けられてしまいます。コント
ロール配列を作成する場合、要素の数は 255 より少なくしてください。
Tag プロパティ
* デザイン時に 2KB 以上の値を設定した場合、その後の動作は保証されませ
ん。このような場合にはデザイン時ではなく、実行時に設定してください。
TextWidth メソッド
* 日本語 TrueType フォントの場合、FontBold プロパティや FontItaric プ
ロパティを True に設定しても TextWidth メソッドの値が、通常のフォント
(FontBold プロパティおよび FontItaric プロパティが False) と変わらない
場合があります。
Width プロパティ (テキスト ボックス)
Width プロパティをテキストがすべて表示されないサイズに設定させ [→] キー
にてカーソルを末尾に移動させた場合、テキストの内容によってはすべて表示
されない場合があります。なお、この現象は全角文字と半角文字が混在している
場合にのみ発生します。
WindowState プロパティ サンプル等 ICONWRKS サンプル
32 × 32 ピクセル以外のアイコンを持つシステムには対応していません。
ファイルのオープンやマウスによる描画時に“オーバー フロー”エラーが
発生することがあります。このような場合はプログラム内の R = を R& = に
修正して使用してください。なお、Visual Basic for Windows 2.0 Pro の
Help Compiler に付属している ICONWRKS にはこの修正が既に行われています。
Setup Toolkit
\SETUPKIT\KITFILES にある SETUP.LST は SETUP1.EXE、SETUPKIT.DLL、
VBRJP200.DLL を圧縮して配布ディスクへ入れた場合のサンプルです。この
ファイルをそのまま使う場合は、この 3 つのファイルを圧縮してから配布
ディスクに入れてください。
Visual Basic の紹介 (INTRO2VB.EXE)
一部のディスプレイ ドライバにおいて、Visual Basic の紹介の実行中に
VBRJP200.DLL で一般保護違反が発生する場合があります。このエラーが発生
する場合は MS-DOS/V 機では標準 VGA (640 × 480、16 色) で、PC-9801 シ
リーズではノーマル モード (640 × 400、16 色) で実行させてください。
カスタム コントロール (.VBX)
垂直方向のピクセル数が 480 以下の状態でお使いの場合は、ダイアログ ボッ
クスの一部が画面からはみ出すことがありますが、この場合でも、動作上は
問題ありません。
一部のカスタム コントロールは、海外のサード パーティによって開発された
ものです。このため、表示されるエラー メッセージやプロパティ名などが英語
になっている部分があります。
カスタム コントロールと同名のアプリケーション名 (拡張子の除いたファイ
ル名) を持つ実行ファイルがメモリ上にロードされている場合、カスタム コ
ントロールをロードすることができません。
ANIBUTON.VBX
32 × 32 ピクセル以外のアイコンを持つシステムに対応していません。この
ような環境では、ビットマップ形式のファイルを使用しアニメーションを作成
してください。
Caption プロパティにおいて、フォントによってはアクセス キーを示す下線が
表示されない場合があります。
CMDIALOG.VBX
[ファイルを開く] (Action=1) または [ファイル名を付けて保存] (Action=2)
ダイアログ ボックスで指定する Filter プロパティでは、説明部分を省略でき
ません。省略した場合の動作は保証されませんのでご注意ください。
OFN_CREATEPROMPT (&h2000&) は [ファイルを開く] (Action=1) でのみ有効で
す。[ファイル名を付けて保存] (Action=2) の場合にはこのフラグを設定して
も無視されます。
GRAPH.VBX
OLE サーバ アプリケーションの Microsoft(R) Graph Version 3.1 (GRAPH.EXE)
が使用されている状態で、GRAPH.VBX を組み込むことができません。このような
場合には、先に GRAPH.VBX を組み込むことで共存させることが可能です。なお、
これはアプリケーション名 (GRAPH) が同名なためで、Microsoft(R) Graph
Version 5.0 (GRAPH5.EXE) の場合にはこの現象は発生しません。
GRID.VBX
フォームの幅とグリッドの幅を一致させ横スクロール バーを有りにした場合、
スクロールさせて最後の列の幅を変えると元の幅が表示されたままになって
しまいます。なお、MouseUp イベントで Refresh メソッドを実行することで
回避できます。
各行の高さを変更し、[Page Up] キーと [Page Down] キーを交互に押した場合、
再描画が正常に行われない場合があります。この場合は Refresh メソッドを
実行し再描画を明示的に行わせることで回避できます。
* FixedCols プロパティや FixedRows プロパティを 1 以外に設定した場合、
画面の描画が正常に行われない場合があります。このような組み合わせをする
場合にはデザイン時にプロパティ ウィンドウで設定せずに Load イベントの
中で“プログラム的に”設定するようにしてください。
* Cols プロパティや Rows プロパティの値を非常に大きくした場合、デザイ
ン時にスクロール バーが表示されないことがあります。なお、このような場合
でも実行時には表示されます。
MCI.VBX
マルチメディア ムービー ファイル (.MMM) を再生するには、対応するデバイ
ス ドライバをインストールする必要があります。詳しくは Visual Control
Pack の『スタートアップ ガイド』を参照してください。
FileName プロパティに設定するファイル名の前後に空白が入っている場合、
動作が不安定になることがあります。ファイル名の前後には空白を入れないで
ください。
MSMAPI.VBX
Windows 3.1 および Microsoft(R) Mail for PC Networks Version 3.0 が必要
です。また、MSMAPI.VBX は、Visual Basic for Windows 2.0 でのみ利用可能
です。Microsoft(R) Visual C++(TM) Development System for Windows(R)
Version 1.0 (以下 Visual C++ 1.0) で利用することはできません。
PENCTRL.VBX
Windows 3.1 および Microsoft(R) Windows(R) for Pen Computing Version 1.1
が組み込まれている環境が必要です。また、PENCNTRL.VBX の動作は、Visual
Basic for Windows 2.0 と Visual C++ 1.0 で異なる部分があります。
ペン BEdit/HEdit コントロールの FontSize プロパティでコントロールより
も大きなサイズのフォントを設定すると、フォントが正しく表示されない場
合があります。FontSize プロパティを使ってフォントサイズを変更するとき
は、あらかじめコントロールのサイズを、設定しようとするフォントサイズ
にあわせて変更してから、設定を行ってください。
THREED.VBX
3D コマンド ボタン、3D フレームおよび 3D パネルの Caption プロパティ
において、フォントによってはアクセス キーを示す下線が表示されない場合
があります。
3D パネルの Align プロパティを 1 または 2 に設定しているとき、3D パ
ネルの幅はフォームと同じ幅に設定されます。このとき、AutoSize プロパ
ティを使って、3D パネルの幅をキャプションや子コントロールに合わせて
変更すると、この 2 つの設定で矛盾が生じるために表示が異常になり、そ
の状態から抜け出せなくなることがあります。場合によってはアプリケー
ションを強制終了しなければならず、プロジェクトに対して行った変更が
失われます。3D パネルの Align プロパティと AutoSize プロパティを設
定するときは、特に注意してください。
PrintForm メソッドで印刷を行った場合、一部のプリンタ ドライバにおいて
3D コマンド ボタンが正常に印刷されないことがあります。
Help Compiler
ヘルプ プロジェクト ファイル (.HPJ) で指定する CreateButton マクロに
おいて 2 バイト目が 0x60、0x5C の文字を指定することはできません。この
ような文字を指定した場合にはボタンの文字が正常に表示されません。
Microsoft(R) Word for Windows(R) Version 6.0 で作成された書式付きテキ
スト ファイル (.RTF) を使用した場合、ビルド時にエラーが発生したり完成
したヘルプ ファイルの一部で文字化け等が発生する場合があります。この
ような場合は Visual Basic for Windows のサポート窓口までお問い合わせ
ください。
ODBC
データベースのフィールドに GetChank メソッドを使用する場合、フィール
ドタイプが String または、Memo 型であることを確認するコードを記述して
ください。String または、Memo 型以外のフィールドに GetChank メソッド
を実行すると予測されないエラーが発生します。
Updatable プロパティが False のレコードに対して Edit メソッドを実行
した場合、エラー メッセージが正常に表示されないことがあります。この
ような場合には、VISDATA サンプル プログラム、VISDATA.BAS の ShowError
サブルーチンを参考にしてください。
Keywords: KBBUG KB402633
Technology: kbAudDeveloper kbVBA500Search kbVBSearch kbZNotKeyword2 kbZNotKeyword6