VB-Tec.de Visual Basic - Technik, FAQ, Tricks, BeispieleHome / Allgemein / Entwicklung / Debug Entwicklungsumgebung oder Kompiliert? |
| Historie | |
|---|---|
| 24.02.2004 | Vorteile und Funktionsweise erläutert |
| 30.04.2000 | Erste Version |
Manchmal wäre es ganz nützlich zu wissen, ob das VB-Programm gerade in der Entwicklungsumgebung (IDE) läuft oder bereits kompiliert ist. Die Routine DebugMode erlaubt gerade dies festzustellen.
Die hier vorgestellte Lösung kommt ganz ohne jeden störenden Fehlerhandler aus. Dies kann sehr wichtig sein, etwa wenn man auf einen Error in der IDE anders reagieren will (MsgBox?), als bei einer EXE (Log-File?).
Die Assert-Anweisung wird in kompilierten Programmen ignoriert, ansonsten (in der Entwicklungsumgebung) ruft sich die Routine nochmal selbst auf, wobei die Counter-Variable auf "0" gesetzt wird. Da nach dem eventuellen rekursiven Aufruf von Counter immer 1 abgezogen wird, gibt die Routine in der IDE als Ergebnis "-1" (True) zurück, sonst "0" (False).
Function DebugMode() As Boolean
Static Counter As Variant
If IsEmpty(Counter) Then
'Erster Aufruf:
Counter = 1
Debug.Assert DebugMode() Or True
Counter = Counter - 1
ElseIf Counter = 1 Then
'Aha, rekursiver Aufruf:
Counter = 0
End If
DebugMode = Counter
End Function
Mit Unterstützung von Francesco Balena (VB-2-The-Max).
© Jost Schwider, 30.04.2000-24.02.2004 - http://vb-tec.de/debugmod.htm