Seite 1 von 3
Funktionen erstellen
Verfasst: 19.08.2009 14:56
von Raphi
Hallo, Wie kann man eiegen funktionen erstellen (das müsste doch irgendwie gehen)?
Verfasst: 19.08.2009 14:57
von iostream
Code: Alles auswählen
Procedure Test()
; hier dein Code
EndProcedure
Test() ; Aufruf deiner eigenen Prozedur
Mfg
iostream
Verfasst: 19.08.2009 14:59
von Raphi
Danke
gibt es auch eine möglichkeit diese funktion so zu speichern das man einfach(in diesem beispiel
abruft ohne Procedure ... EndProcedure vorher aufzurufen
Verfasst: 19.08.2009 15:03
von Kurzer
Da es um
Funktion ging, hier eine Funktion:
Code: Alles auswählen
Procedure.i SinndesLebens()
ProcedureReturn 42
EndProcedure
Debug SinndesLebens()
Raphi, Probe() ist eine Prozedur, keine Funktion.
Die Prozedur muß natürlich erstmal erstellt und mit Leben gefüllt werden, woher soll PB sonst wissen was Probe() tun soll?
Verfasst: 19.08.2009 15:05
von iostream
Na ja du musst ja deine Prozedur vorher definieren eh du sie verwenden kannst, d.h irgendwo in deinem Code muss Procedure...EndProcedure stehen.
Du kannst allerdings deine Prozedur(en) in eine DLL packen und diese dann in deinem Programm dynamisch laden,
so das Procedure...EndProcedure nicht nötig ist.
Zweite Möglichkeit ist das du oft benutzte Prozeduren separat in einer zentralen Datei speicherst und diese mit IncludeFile in deinen aktuellen Code einbindest.
Verfasst: 19.08.2009 15:06
von Raphi
Eine Prozedur ist doch so was ähnliches, oder
Und ich dacht halt man könnte das irgenwie in der pure basic library speichern so dass man es nur noch so aufrufen muss
Verfasst: 19.08.2009 15:07
von iostream
Eine Prozedur ist doch so was ähnliches, oder
Eine Prozedur hat keinen Rückgabewert, eine Funktion hingegen schon.
Verfasst: 19.08.2009 15:07
von Raphi
D.H. Man kann nicht überprüfen ob sie erfolgreich war?
Dann müsst ich jetzt nur noch wissen wie ich eine prozedur in eine Dll packe?
Verfasst: 19.08.2009 15:14
von iostream
Bei Compiler-Optionen/Executable-Format "Shared Dll" angeben und dann im Compilermenü "Executable erzeugen" wählen. Dann hast du eine DLL mit deiner Funktion erzeugt.
Dann in einer neuen PB-Datei:
Code: Alles auswählen
; Wichtig: DLL muss sich im Verzeichnis deines Programms befinden.
If OpenLibrary(0, "mydll.dll")
Debug CallFunction("Test")
Else
Debug "Konnte DLL nicht laden."
EndIf
Verfasst: 19.08.2009 15:14
von NicTheQuick
Das steht auch in der Hilfe.