Frage zu Syntax ProcedureReturn

Für allgemeine Fragen zur Programmierung mit PureBasic.
Velz
Beiträge: 180
Registriert: 18.10.2004 22:20

Frage zu Syntax ProcedureReturn

Beitrag von Velz »

Ich habe eine Frage..

Ich stelle gerade eine schon etwas ältere Anwendung mit MySQL und libmysql.ddl auf die aktuelle PB-version 5.61 und 64 Bit Windows um. Dabei erstetze ich die alte Include Datei durch diese: http://www.purebasic.fr/english/viewtop ... 92&start=0

Als Beispiel diese Prozedur:

Code: Alles auswählen

Procedure MySQL_FinishDatabaseQuery(DataBase)
   If MySQL_FindDataBase(DataBase) = 0
      MySQL_LastErrorFlag = #False
      ProcedureReturn FinishDatabaseQuery(DataBase)
   EndIf
   MySQL_LastErrorFlag = #True
   With MySQL_DBs()
      If \mysqlResult
         MySQL_Free_Result(\mysqlResult)
         \FieldCount  = 0
         \mysqlLen    = 0
         \mysqlRow    = 0
         \mysqlResult = 0
      EndIf
   EndWith
EndProcedure
Was genau mach dieser Befehl???
ProcedureReturn FinishDatabaseQuery(DataBase)

"ProcedureReturn" ist dabei natürlich klar und wird im speziellen Fall auch genutzt um die Prozedur zu beenden.
Aber weshalb ruft dieser die eigene Prozedur auf?? Warum gibt das keinen Fehler??
Kann mich dazu jemand erhellen?

Ach ja... die Include ist wirklich super.. vielen Dank an HeX0R aus dem englischen Forum...
Win10/64|Ubuntu-Server|Mint WS // Programmiere Datenbankanwendungen und Tools mit PB-5.x und MySQL-5.x unter Win und Linux
GPI
Beiträge: 1511
Registriert: 29.08.2004 13:18
Kontaktdaten:

Re: Frage zu Syntax ProcedureReturn

Beitrag von GPI »

Die Procedure heißt MySQL_FinishDatabase() und nach Procedurereturn stehtn FinishDatabase()
das sind zwei verschiedene Proceduren

Falls es ein Macro gibt, das FinishDatabase auf MySQL_FinishDatabase() umbiegt - das kommt garantiert nach der Procedure und gilt nur ab der Zeile der Definition. Betrifft also die Stelle nicht.

Ansonsten: Fehlermeldungen gibt es nicht, wenn eine Procedure sich immer wieder selbst aufruft. Das ist durchaus erlaubt. Nur irgendwann wird das Programm abschmieren, weil der Stack überläuft.
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Velz
Beiträge: 180
Registriert: 18.10.2004 22:20

Re: Frage zu Syntax ProcedureReturn

Beitrag von Velz »

Danke.. absolut korrekt. Manchmal interpretiert man sich ins Nirwana...
Win10/64|Ubuntu-Server|Mint WS // Programmiere Datenbankanwendungen und Tools mit PB-5.x und MySQL-5.x unter Win und Linux
Antworten