妄想・想像・創造
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
言われてみれば、「あ~」って感じ。
VBのフォームは『グローバル変数』
つまり、
この所為で、落とし穴に嵌った。
実は、VBのUnloadって奴。メモリから全てが消えてしまうと
思っていたのだが、どうもそうではないらしい。
Formsコレクションから消えるだけで、インスタンスが初期化されるわけではない。
例えば、こんなフォームがあって、
ってすると、メッセージボックスが2回表示され、2回とも「黒幕」と表示される。
じゃ、どうしたらいいのん?
VBのフォームは『グローバル変数』
つまり、
Form1.Showって、どこでも書ける。
この所為で、落とし穴に嵌った。
実は、VBのUnloadって奴。メモリから全てが消えてしまうと
思っていたのだが、どうもそうではないらしい。
Formsコレクションから消えるだけで、インスタンスが初期化されるわけではない。
例えば、こんなフォームがあって、
// Form1内
Private m_strValue As String
Public Property Let Item (value As String)
m_strValue = value
End Property
Private Sub Form_Load()
MsgBox m_strValue
End Sub
Form1.Item = "黒幕"
Form1.Show
Unload Form1
Form1.Show
ってすると、メッセージボックスが2回表示され、2回とも「黒幕」と表示される。
じゃ、どうしたらいいのん?
久しぶりに、VBでプログラムを組んでいると、
色々な懐かしいコーディングを思い出す。
ついでに、戻り値一覧。
色々な懐かしいコーディングを思い出す。
Dim strItem As StringVarTypeで変数の型を評価することができる。
Select Case VarType(strItem)
Case vbString
MsgBox "文字型だよー"
End Select
ついでに、戻り値一覧。
定数 | 値 |
vbEmpty | 0 |
vbNull | 1 |
vbInteger | 2 |
vbLong | 3 |
vbSingle | 4 |
vbDouble | 5 |
vbCurrency | 6 |
vbDate | 7 |
vbString | 8 |
vbObject | 9 |
vbError | 10 |
vbBoolean | 11 |
vbVariant | 12 |
vbDataObject | 13 |
vbByte | 17 |
vbArray | 8192 |
Collectionで値が入っているのかどうか判定する方法。
実際は、こう。
Dim objItem As New Collection If (objItem("guitar") is Nothing) Then MsgBox("値ないよー") End Ifだと、思っていたが、これがどうも違う。
実際は、こう。
|HOME|
カレンダー
02 | 2024/03 | 04 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
カテゴリー
最新記事
(06/26)
(06/25)
(03/16)
(02/09)
(02/02)
プロフィール
HN:
編集長 黒幕
HP:
性別:
非公開
自己紹介:
京阪奈を中心に活動する自称ストリートミュージシャン。
目標は、唄って踊れる、さらに、ゴルフも上手い、さらに
字も綺麗なアーティスト。
最近、MCや物販が一人歩きで有名になり、
実際、唄うと
「あ~、この人唄えるんだぁ~」
みたいな目で見られることが多い。
また、スタッフと間違われること多し。
「あっ、ドリンク頼んで良いですか!」
目標は、唄って踊れる、さらに、ゴルフも上手い、さらに
字も綺麗なアーティスト。
最近、MCや物販が一人歩きで有名になり、
実際、唄うと
「あ~、この人唄えるんだぁ~」
みたいな目で見られることが多い。
また、スタッフと間違われること多し。
「あっ、ドリンク頼んで良いですか!」
ブログ内検索
カウンター