Seite 1 von 1

DeclareAll PreCompiler für PB-IDE ab PB4.x

Verfasst: 11.03.2006 19:57
von ts-soft
Was macht der PreCompiler?

Der gesamte Source wird vor dem Ausführen oder Erstellen einer Exe
zusammengeführt. Bei diesem Vorgang werden alle Strukturen und
Interfaces an den Anfang gestellt. Alle Proceduren werden Declariert.
Der restliche Source wird nach der Declaration angehängt. (Kommentar-
und Leerzeilen werden ignoriert).

NEU automatische Unicode-Konvertierung vor der Compilierung! NEU

Der nun generierte Source wird dem Compiler zur Weiterbearbeitung
übergeben.

Der Original-Source bleibt unangetastet!

Einschränkungen:
OnError Lib gibt falsche Ergebnisse zurück. Dies betrifft insbesondere:
GetErrorModuleName()
GetErrorLineNR()

Beispielcode:

Code: Alles auswählen

Message("Hallo es klappt")

Procedure Message(Text.s)
  MessageRequester("Message", Text)
EndProcedure
Funktioniert auch mit ungespeichertem Code.

Um die Konfiguration zu erleichtern, habe ich 2 Bilder dem Paket
hinzugefügt.

Feedback erwünscht!

Download

Gruß
Thomas

Verfasst: 11.03.2006 21:10
von AND51
Ich habe es zwar nicht getestet, aber meine Idee wäre, die original Compiler.exe umzubenennen und dein PlugIn mit dem namen Compiler.exe einzusetzen, sodass ich weiterhin wie gewohnt F5 drücken oder auf das Zahnrad klicken kann, um den Source zu kompilieren.

Falls dann noch irgendetwas eingestellt werden muss, kannst du das Konfig.tool ja immer noch mit einem Shortcut oder über ds Menü aufrufen lassen.
Solltest du dann nicht wissen, wie du den "PreCode" bekommst, wovon ich nicht ausgehe, dann greift dein Tool auf Compilers\PB_EditorOutput.pb zu und verändert diesen Code - der Original Source bleibt unangetastet.

Ansonsten ist das aber eine sehr gute Idee mit dem PreCompiler. :allright:

Verfasst: 11.03.2006 21:23
von ts-soft
AND51 hat geschrieben:Ich habe es zwar nicht getestet, aber meine Idee wäre, die original Compiler.exe umzubenennen und dein PlugIn mit dem namen Compiler.exe einzusetzen, sodass ich weiterhin wie gewohnt F5 drücken oder auf das Zahnrad klicken kann, um den Source zu kompilieren.
Wenn Du es so konfigurierst, wie in den Bildern im Zip-File, kannste F5 drücken zum kompilieren (auch bei ungespeichertem Source).
Umbennen des Compilers würde ich niemanden zumuten. PS: Wird auch nicht funktionieren, also laß es lieber!
AND51 hat geschrieben: Falls dann noch irgendetwas eingestellt werden muss, kannst du das Konfig.tool ja immer noch mit einem Shortcut oder über ds Menü aufrufen lassen.
Es wird so konfiguriert, das es im Menü garnicht sichtbar ist
Direktes Aufrufen über Menü ist nicht sinnvoll bei dieser Funktionsweise!
AND51 hat geschrieben: Solltest du dann nicht wissen, wie du den "PreCode" bekommst, wovon ich nicht ausgehe, dann greift dein Tool auf Compilers\PB_EditorOutput.pb zu und verändert diesen Code - der Original Source bleibt unangetastet.

Ansonsten ist das aber eine sehr gute Idee mit dem PreCompiler. :allright:
Danke für Deine Kommentare, aber erst Testen und dann
Kommentieren wäre besser :wink:

Das einzige Problem sind die falschen Zeilennummern im Debugger :freak:

Verfasst: 12.03.2006 10:04
von ts-soft
Kleines Update!
Bereits vorhandene Declares werden jetzt auch berücksichtigt

Verfasst: 12.03.2006 13:24
von Sylvia
@ts-soft:
Ich nehme an, dass dieser PreCompiler auf meine Anregung hin entstanden ist. Ich selbst war über die Jahre zu faul dazu zum
programmieren; ausserdem hoffte ich auch immer auf eine
offizielle Unterstützung durch den Compiler.

Hatte leider auch noch keine "Zeit" ( 8) ) um dein Programm zu
testen. Kommt aber mit Sicherheit noch

Verfasst: 12.03.2006 13:35
von ts-soft
Da haste schon Recht :allright:
Hätte ich aber vorher bedacht, das der Debugger falsche Zeilen ausgibt,
hätte ich es sein lassen. Ich hoffe es ist trotzdem nützlich.


// Nachtrag:
Neue Funktion !

Wenn die Compilerdirektive für Unicode aktiviert ist, wird der Source vor
der Compilierung entsprechend geändert, so das auch Umlaute usw. korrekt angezeigt werden.

Gruß
Thomas

// Angepaßt an Beta 7

Verfasst: 16.03.2006 22:39
von ts-soft
Auf besonderen Wunsch den Source hinzugefügt, läßt sich hoffentlich auch
für andere Dinge nutzen :wink:

Fehler bitte trotzdem melden!