
数値とオブジェクトの変数セットはそれぞれ、
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ランキング
-
C#でのコンパイル時のエラー
-
C# panel内のコントロールの使...
-
CreateObjectとはどういう意味...
-
DataGridViewがクラッシュする
-
メモリリークが発生するのはど...
-
VBA チェックボックスをオーバ...
-
EXCEL VBAでのマッチング処理
-
ボタンのオーナードローについて
-
(UWSC) 「#32770」の意味わかり...
-
ユーザーフォームのVBAエラー
-
ダイアログ表示時にチェックボ...
-
FriendとPublicの違い。。。
-
【C++】相互参照
-
任意の解像度のメモリデバイス...
-
既定のコンストラクタがない?
-
MFCでSDIからダイアログの呼び出し
-
継承を重ねた場合のコストはど...
-
MenuStripの継承でプロパティが...
-
VC++ 7.1 で メインウィンドウ...
-
イベントにAddHandlerされてい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
オブジェクト型の変数が定義さ...
-
C# panel内のコントロールの使...
-
delete演算子によるメモリ解放...
-
CreateObjectとはどういう意味...
-
関数で値渡しと参照渡しではど...
-
ボタンを押すとラベルの文字を...
-
オブジェクトをどこでdisposeす...
-
クラス内にWin32APIのコールバ...
-
コンストラクタ内でのthisポインタ
-
【VC++6.0(MFC)】「Out of memo...
-
C#でのUNZIP32.DLLの利用方法が...
-
SetとNothingの存在意味?
-
一時オブジェクト?の生存期間
-
「R = ActiveCell」がエラーに...
-
最小化したフォームを元に戻す
-
DataGridViewがクラッシュする
-
クラス?オブジェクト?インス...
-
メモリ解放について、ご教授く...
-
メモリリークが発生するのはど...
-
UMLでの「オブジェクト」と「イ...
おすすめ情報