Login | Register   
RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: Visual Basic
Expertise: Intermediate
Feb 24, 2000

Query Objects for Initialization State

In a large app, or even a small one, you can use Property Let and Property Get to make sure necessary variables and subsystems are initialized. This code is from a large ADSI-based program in production:
Public Property Get ADSIInitialized() As Boolean
	If dso Is Nothing Then
		ADSIInitialized = False
		ADSIInitialized = True
	End If
End Property
Public Property Let ADSIInitialized(aValue As Boolean)
	If aValue = False Then ' Shut everything off
		Set cont = Nothing
		Set dso = Nothing
		' Make sure we aren't already initialized
		If dso Is Nothing Then 
		' Turn everything back on
			Set dso = GetObject("WinNT:")
			Set cont = dso.OpenDSObject("WinNT://" _
				& Server, "", "", ADS_SECURE_AUTHENTICATION)
		End If
	End If
End Property
Now it's trivial to verify this component has been initialized and initialize it if necessary:
If Not ADSIInitialized Then ADSIInitialized = True
Gregory Gadow
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.