本ページは公開が終了した情報の複製であり、掲載時点での情報です。本ページに記載されている内容について各所に問い合わせることはご遠慮下さい。
サポート技術情報

[VB2] 追加情報と制限事項

文書番号: 402633

最終更新日: 2004/04/01


この資料は以下の製品について記述したものです。


概要

この資料は製品 (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 関数

  • プログラム中の CSng 関数がプログラム実行後に CDbl 関数に勝手に変更され てしまう場合があります。このような場合にはダミーの変数に引数の内容を代 入し、このダミー変数を CSng 関数の引数に記述してください。
        a! = CSng("1.0")
               ↓
        b = "1.0"
        a! = CSng(b)
    

Enabled プロパティ (メニュー)

  • Enabled プロパティが False の時、Checked プロパティが True の Caption プロパティの内容を変更するとメニュー上のチェック マークが消えてしまい ます。Enabled プロパティが False のチェック マーク付きメニューの Caption プロパティの内容を変更する場合は、Enabled プロパティを True に した後に行ってください。

Enabled プロパティ (テキスト ボックス)

  • MultiLine プロパティが True に設定されている場合、Enabled プロパティを True にしてもフォントの色が“淡色表示の文字”になりません。このような 場合は ForeColor プロパティに明示的に &H80000011 (GRAY_TEXT) を設定して 色を変更してください。なお、Text1 の場合は以下のようなコードになります。
        If Text1.Enabled Then
            Text1.ForeColor = &H80000008 ' WINDOW_TEXT
        Else
            Text1.ForeColor = &H80000011 ' GRAY_TEXT
        End If
    

Erase ステートメント

  • Erase ステートメントを使用し静的配列の内容を初期化する場合、2 回目以降の 初期化が正常に行われません。配列が初期化されていることを前提にプログラム している場合は、初期データを代入するなどして明示的な初期化を行うように してください。

FileCopy ステートメント

  • コピーしようとしているファイルがコピー先に既に存在しており、そのサイズ がコピー元より大きな場合、ファイルのオーバー ライトが正常に行えませ ん。コピー先のファイルを Kill ステートメントによって削除してから FileCopy ステートメントを実行してください。なお、ファイルの存在確認は Dir$ 関数によって行うことができます。

Format$ 関数

  • 書式指定文字 c, ttttt などを利用して 12 時間制で時刻を表示する場合は、 コントロール パネルの各国対応で時刻の形式を 12 時間制に設定してください。
  • 書式指定文字 c, 書式“ General Date ”を利用している場合、午前 0 時 0 分 0 秒の時の時刻は表示されません。
        dt = CVDate("1993-03-12 0:0:0")
        Print Format$(dt, "c")                  ' 1993-03-12
        dt = CVDate("1993-03-12 2:0:0")
        Print Format$(dt, "c")                  ' 1993-03-12 02:00:00
    

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 プロパティ

  • Timer コントロールの Timer イベントで WindowState プロパティに 1 (アイ コン化) を設定している場合、実行時に他のアプリケーションにフォーカスを 移動させるとそのウィンドウがフラッシュしてしまいます。このような場合は、 Timer イベントの内容を以下のようなコードにしてください。
        Sub Timer1_Timer ()
            If Me.WindowState <> 1 Then
                Me.WindowState = 1
            End If
        End Sub
    
  • ControlBox プロパティまたは MaxButton プロパティのどちらかが False の時、 WindowState プロパティを 2 (最大化) にしてもフォームの移動 (ドラッグ) が できてしまいます。

サンプル等

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

inserted by FC2 system