極まれに使用するVB6/VBAにて他言語と異なる点の留意事項覚え書きです。
言語仕様
IDE上でUI配列が使用できる。.NETではなくなっている。
UI配列にuboundは使えない。ubound(text()) はNG、TextLever.UBound がただしい。
UI配列はアクセスしなければ欠番があってもよい。
他言語と比べ、配列は宣言数+1つ確保される。
フォームエディタで編集すると時間がかかる場合は、フォーム部はコード手打ちしても良い。
MSComm は、内部バッファに一定byte蓄積しないと受信イベントが発生しない模様。
TextBoxで入力禁止にするには、KeyDown と KeyPress でキーコード値引数を 0 に上書きする。
アプリの終了は “End” である。
Buildスイッチは、#Const XXXX、 #if XXXX then ~ #end if である。
unsignedは使えない。(これはjavaも同じ)
ラベルはデフォルト不透明だが、透明を指定するこができる。UIが重なるが文字はみだし策で大きくしておきたいとき重宝する。
Longは 2,147,483,647 どまりだが、CDec関数( 10 進型 (Decimal) )を使えば128bitまで表現できる。しかし変数としての型はなく工夫して使う必要がある。
配列引数を渡すときは、変数() である。
IDE
Win10以降では、管理者で実行した方がよい。多分レジストリ書込みを行っている。
長いイベント内でbrakeするとき、イベント先頭で一次brekeしないと、brakeしない場合あり。
挙動がおかしいときは、IDEを再起動する必要性が高い。
コードエディタのUNDOは一回しか効かない。複数戻したいとはき、プロジェクト解放 を行う。
フォームエディタのUNDO無い。戻したいとはき、プロジェクト解放 を行う。
フォームエディタで複数UIを選択する場合は、選択矩形領域に部分的かかっているUIも選択される。
外部エディタでコード修正したときは、Project 解放し、再読み込みすること。
タブ表示は無いので IDETab アドインを使う。
全検索はないので、greovb アドインを使う。
マウスホイールスクロールは無いので VB6IDEAddAutoScroll アドインを使う。
コード行番号を表示はないので、VB6IDEAddLineNumbers アドインを使う。
前回開いていたウインドウをリセットしたい場合は、.vbw を削除する。