객체가 이미 참조되어 있는지 어떻게 알 수 있습니까?
-
06-07-2019 - |
문제
Excel 2003 스프레드 시트에 부착 된 일부 VBA에서는 인스턴스화하는 데 시간이 걸리는 일부 객체를 사용해야합니다. 따라서 한 번만 '세트'를하고 싶습니다 ...
설명을 작성하는 것보다 코드 쇼가 더 쉽습니다!
' Declare the expensive object as global to this sheet
Dim myObj As SomeBigExpensiveObject
Private Sub CommandButtonDoIt_Click()
' Make sure we've got a ref to the object
If IsEmpty(myObj) Then ' this doesn't work!
Set myObj = New SomeBigExpensiveObject
End If
' ... etc
End Sub
MyOBJ가 이미 설정되었는지 어떻게 확인할 수 있습니까?
나는 isnull (myobj)을 시도했고 isempty (myobj) - myobj의 상태에 관계없이 '세트'를 건너 뜁니다. 나는 할 수 없다
if myObj = Nil then
또는
if myObj = Empty then
또는
if myObj = Nothing then
어떤 아이디어?
남자 이름
해결책
이것은 작동해야합니다 :
If myObj IS Nothing Then
( "is") 작동하지 않으면 Com init 호출이 기본적으로 동기식이기 때문에 해당 클래스에서 구체적으로 구현 된 비동기적 인 소수화가 있어야합니다. 따라서 DOC를 확인하거나 개발자에게 큰 클래스에 대해 대기하는 속성 또는 동기치 방법에 대해 대기 할 수있는 방법에 대해 이야기해야합니다.
제휴하지 않습니다 StackOverflow