Kontakt
DSVGO
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