Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
CompilerIf #PB_Compiler_Debugger
Import ""
PB_DEBUGGER_SendError(Message.p-ascii)
PB_DEBUGGER_SendWarning(Message.p-ascii)
PB_DEBUGGER_CheckLabel(*Label)
EndImport
CompilerEndIf
Macro DebugError(error)
CompilerIf #PB_Compiler_Debugger
PB_DEBUGGER_SendError(error)
CompilerEndIf
EndMacro
Macro DebugWarning(error)
CompilerIf #PB_Compiler_Debugger
PB_DEBUGGER_SendWarning(error)
CompilerEndIf
EndMacro
Macro DebugCheckLabel(error)
CompilerIf #PB_Compiler_Debugger
PB_DEBUGGER_CheckLabel(error)
CompilerEndIf
EndMacro
; Beispiel
Define temp
CompilerIf Defined(temp, #PB_Variable) = 0
; kein Fehler, da temp bekannt
DebugError("Hallo mein Freund, die Variable 'temp' exitiert nicht!")
CompilerEndIf
Procedure test()
; in der Procedure ist temp nicht bekannt, also Fehler!
CompilerIf Defined(temp, #PB_Variable) = 0
DebugError("Hallo mein Freund, die Variable 'temp' exitiert nicht!")
CompilerEndIf
EndProcedure
test()
Gruß
Thomas
// edit
Beispiel erweitert!
// edit 2
angepaßt für Linux
Zuletzt geändert von ts-soft am 26.04.2010 18:57, insgesamt 2-mal geändert.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
hey cool , die kannte ich noch gar nicht.
aber mal ne frage dazu. ist es eigentlich i-wie möglich die fehler, die in einer userlib entstehen, auch so darzustellen. also in der userlib ist ein fehler, dann wird die 'DebugError' funktion aufgerufen, und wenn der benutzer der userlib den debugger an hat, soll der fehler ausgegeben werden, und wenn nicht dann nicht.
lg kevin
#MaxElementNumber = $FFFF
Procedure NewElement(Element)
If Element >= 0 And Element <= $FFFF
; [...]
Else
DebugError("Elementnummer ist außerhalb des Bereiches: 0 - "+Str(#MaxElementNumber))
EndIf
EndProcedure
NewElement(-6)
Nun ist ja die Fehlermarkierung beim DebugError ein bisschen sinnfrei.
Es wäre hier besser die Markierung beim Aufruf der übergeordneten Funktion darzustellen:
Also bei NewElement(-6)
CSHW89 hat geschrieben:hey cool , die kannte ich noch gar nicht.
aber mal ne frage dazu. ist es eigentlich i-wie möglich die fehler, die in einer userlib entstehen, auch so darzustellen. also in der userlib ist ein fehler, dann wird die 'DebugError' funktion aufgerufen, und wenn der benutzer der userlib den debugger an hat, soll der fehler ausgegeben werden, und wenn nicht dann nicht.
lg kevin
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Geht bestimmt, habe aber in der Richtung nur die Funktion: PB_DEBUGGER_SetLine() gefunden,
die keinen Parameter erwartet, ich weiß also nicht wie das funktioniert
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Little John hat geschrieben:Interessant.
Funktioniert aber hier leider nicht mit PB 4.41 unter Ubuntu 9.10.
fixed
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.