掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
動的配列の開放チェック (ID:77580)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
残念ながら、エラートラップで処理するしか無いのです。 一応、APIを使えば判定できますが、そこまでする必要があるかどうか…。 Option Explicit Private Declare Function SafeArrayGetDim Lib "oleaut32" _ (ByVal psa As Long) As Long Private Declare Function VarPtrArray Lib "msvbvm60" _ Alias "VarPtr" (ByRef var() As Any) As Long Private Type MyType aaa As Long bbb As Integer ccc As Boolean End Type Private Sub Form_Load() Dim udtArray() As MyType 'ReDim前 MsgBox IsEraseMyType(udtArray) 'ReDim後 ReDim udtArray(3) MsgBox IsEraseMyType(udtArray) 'Erase後 Erase udtArray MsgBox IsEraseMyType(udtArray) End Sub Private Function IsEraseMyType(ByRef MyTypeArray() As MyType) As Boolean IsEraseMyType = CBool(SafeArrayGetDim(VarPtrArray(MyTypeArray)) = 0) End Function
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.