数値とオブジェクトの変数セットはそれぞれ、
Dim num as integer
num = 5
Dim obj as Object
set obj = new From
set obj = Nothing
ですが、
オブジェクトの場合でインスタンスを生成しない、単なる参照?別名?
の場合はNothingは不要でしょうか?
Dim obj as Object
For x = 1 to 10
set obj = Form2 ' newとインスタンスを生成するのではなく、単なる参照
obj.Caption = str(x) & "回目"
'set obj = nothingは不要?
Next x
No.1ベストアンサー
- 回答日時:
生成したかどうかは、関係ないと思います。
オブジェクトは、「参照カウンタ」と言う情報を持っていて、
何かから参照される(例えば変数に設定されるとか)すると、
このカウンタが+1され、(Nothing等で)参照されなくなると、カウンタが-1されます。
で、カウンタが0になると「誰からも参照されていない」と言う事で、
破棄されます。
昔の古いVB(VB4だかVB5?)で、プロシージャが終了して、
ローカル変数が解放される際に、
この参照カウンタが-1されないと言うバグがあったため(VB6等では直ってます)、
確実にカウンタを-1するための、おまじないとして、明示的に
> set obj = Nothing
を実行する様になりました。
そういう意味で言うと、提示された状況では、
「ループの中で毎回実行する必要は無いにしても、
ループ終了後、1回実行しておいた方が良い」かも・・・
#無くても大丈夫だとは思いますけど・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) Excel vbaについての質問 3 2023/04/18 16:14
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
- Visual Basic(VBA) オブジェクトが見つかりません 1 2023/06/24 19:43
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) エクセルVBAのコードで質問です。 下のコードはJ16の文字列をB3を起点とする範囲から探して、見つ 5 2023/04/07 11:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CreateObjectとはどういう意味...
-
C# panel内のコントロールの使...
-
オブジェクト型の変数が定義さ...
-
Visual studio c# android オブ...
-
UMLでの「オブジェクト」と「イ...
-
ボタンを押すとラベルの文字を...
-
ゆかりネットで東北ずん子exを...
-
FriendとPublicの違い。。。
-
既定のコンストラクタがない?
-
VB.NETで、DLLを頂いたんですが...
-
名前空間について
-
クラスの作成方法を教えてください
-
(UWSC) 「#32770」の意味わかり...
-
MFCアプリのコマンドラインでパ...
-
DLLからEXEのクラスを呼び出す...
-
DataGridViewのセルに斜線を引...
-
excel vba グラフ データラベル...
-
VBのシステムの設計書にUMLは適...
-
ダイアログクラスのコントロー...
-
オーバーライド関数の呼び出し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CreateObjectとはどういう意味...
-
オブジェクト型の変数が定義さ...
-
コンストラクタ内でのthisポインタ
-
メモリリークが発生するのはど...
-
ボタンを押すとラベルの文字を...
-
クラス内にWin32APIのコールバ...
-
関数で値渡しと参照渡しではど...
-
VB6では、Applicationは未定義...
-
SetとNothingの存在意味?
-
オブジェクトをどこでdisposeす...
-
C# panel内のコントロールの使...
-
メモリ解放について、ご教授く...
-
イベントドリブンとオブジェク...
-
Visual studio c# android オブ...
-
最小化したフォームを元に戻す
-
すべてのページにServer.Create...
-
クラスの設定について
-
ADODB.Connectionはインターフ...
-
【VC++6.0(MFC)】「Out of memo...
-
デザイナ時のエラー「オブジェ...
おすすめ情報