Seite 1 von 1
Verwendung externer PureBasic-Werkzeuge
Verfasst: 20.07.2017 15:34
von Kiffi
Hallo,
kennt sich hier jemand mit der Erstellung externer Tools für PureBasic aus?
(
http://www.purebasic.com/german/documen ... tools.html)
Ich möchte eine Art Precompiler für PureBasic
(SpiderBasic) schreiben. Hierfür versehe ich mein Tool mit dem Trigger "Before compile / run" und aktiviere "Wait until tool quits". Soweit funktioniert das auch. Mir ist nur folgendes aufgefallen:
* Kann ich den nachfolgenden Kompilierungsvorgang von PureBasic verhindern? Sprich: Wenn ich mit meinem Precompiler feststelle, dass in dem Code bestimmte Voraussetzungen nicht erfüllt sind, soll der Code auch erst gar nicht durch PB gestartet / kompiliert werden.
* Führe ich einen Syntax Check aus (Menüzeile/Compiler/Syntax check), dann wird der Trigger "Before compile / run" ebenso ausgelöst, was in meinem Fall ungünstig ist. Kann man irgendwie unterscheiden, ob ich einen Syntax Check durchführe oder den Code mit F5 starte?
Danke im Voraus & Grüße ... Peter
Re: Verwendung externer PureBasic-Werkzeuge
Verfasst: 20.07.2017 15:39
von RSBasic
Kiffi hat geschrieben:* Kann ich den nachfolgenden Kompilierungsvorgang von PureBasic verhindern? Sprich: Wenn ich mit meinem Precompiler feststelle, dass in dem Code bestimmte Voraussetzungen nicht erfüllt sind, soll der Code auch erst gar nicht durch PB gestartet / kompiliert werden.
Du kannst folgendes machen: Wenn du vor dem Kompilieren einen Fehler entdeckt hast, dann kannst du innerhalb des Quellcodes (Temp-Kopie) folgendes hinzufügen:
Danach stoppt pbcompiler.exe die Kompilierung und gibt die von dir angegebene Fehlermeldung aus.
Re: Verwendung externer PureBasic-Werkzeuge
Verfasst: 20.07.2017 15:49
von Kiffi
RSBasic hat geschrieben:Du kannst folgendes machen: Wenn du vor dem Kompilieren einen Fehler entdeckt hast, dann kannst du innerhalb des Quellcodes (Temp-Kopie) folgendes hinzufügen:
Danach stoppt pbcompiler.exe die Kompilierung und gibt die von dir angegebene Fehlermeldung aus.
Whow!

Das ist ja schon mal ein Hammer-Tipp! Danke!
Grüße ... Peter
Re: Verwendung externer PureBasic-Werkzeuge
Verfasst: 20.07.2017 16:08
von NicTheQuick
Die einfachsten Lösungen sind doch immer die besten.

Re: Verwendung externer PureBasic-Werkzeuge
Verfasst: 20.07.2017 17:02
von Nino
Kiffi hat geschrieben:* Führe ich einen Syntax Check aus (Menüzeile/Compiler/Syntax check), dann wird der Trigger "Before compile / run" ebenso ausgelöst, was in meinem Fall ungünstig ist. Kann man irgendwie unterscheiden, ob ich einen Syntax Check durchführe oder den Code mit F5 starte?
Ich weiß dafür leider keine sofortige Lösung, aber vielleicht eine mittelfristige:
Da der Befehl "Syntax-Überprüfung" ja absichtlich den Code eben
nicht kompilieren/starten soll, denke ich dass das von Dir beschriebene Verhalten durchaus als Bug eingestuft werden kann. Wenn Du den im engl. Forum meldest, ist der mit Glück evtl. bald behoben.

Re: Verwendung externer PureBasic-Werkzeuge
Verfasst: 20.07.2017 21:20
von Kiffi
NicTheQuick hat geschrieben:Die einfachsten Lösungen sind doch immer die besten.

ja, dadurch lassen sich einige Sachen in der Tat eleganter lösen.
Wenn jetzt SpiderBasic nun auch die CompilerWarnings (wie PureBasic) ausgeben würde...
@Nino: Danke für den Tipp, aber ich muss erst einmal verstehen, was da im Hintergrund passiert. Als Parameter übergebe ich %COMPILEFILE, aber diese Datei ist im Prinzip nur eine 1:1 - Kopie meines Sources (nur eben im Temp-Ordner). Die (X)Includes und Macros werden nicht aufgelöst. Dachte, der Compiler führt erst einmal ein /PREPROCESS aus. Ich weiß nicht, ob das so gewollt ist.
Grüße ... Peter
Re: Verwendung externer PureBasic-Werkzeuge
Verfasst: 20.07.2017 22:31
von Josh
Kiffi hat geschrieben:Die (X)Includes und Macros werden nicht aufgelöst. Dachte, der Compiler führt erst einmal ein /PREPROCESS aus. Ich weiß nicht, ob das so gewollt ist.
Ich weiß nicht, was du genau mit deinem Precompiler genau machen willst. Das ganze funktioniert wunderbar, so lange es ein einzelnes File ohne (X)Include ist. Wenn du allerdings Includefiles verarbeiten willst und nicht willst, dass bei einem Fehler immer dein vom Preprozessor erstelltes File aufgerufen wird, oder gar ein Debugger funktionieren sollte, dann vergiss es.
Das einzige was man mit Pb nativen Mitteln bauen kann sind Krücken, wobei Krücken für den einen oder anderen natürlich auch ein Hilfsmittel sein können.
Re: Verwendung externer PureBasic-Werkzeuge
Verfasst: 21.07.2017 07:47
von Kiffi
@Josh:
Das liest sich so, als ob Du das aus leidvoller Erfahrung kennst.
Josh hat geschrieben:[...] wobei Krücken für den einen oder anderen natürlich auch ein Hilfsmittel sein können.
das sehe ich erstmal auch so. Lieber den Spatz in der Hand...
Danke & Grüße ... Peter
Re: Verwendung externer PureBasic-Werkzeuge
Verfasst: 21.07.2017 14:08
von Josh
Ich muss mich ein wenig korrigieren. Was ich oben geschrieben habe trifft nur in Zusammenhang mit der Pb-Ide zu. Der Compiler selbst würde eigentlich alles mitbringen, was man für einen vernünftigen Preprocessor benötigt.
Noch etwas zu /PREPROCESS: Wäre ja eigentlich ein sehr sinnvolles Tool, aber wenn du für deinen Preprocessor Code schreiben willst, der für den Compiler keinen Sinn ergibt, dann spielts das leider auch nicht.