| |
|
|
| Vorwort
XPSE bietet besonders por el Einbetten de neuen Kompilerschaltern en el Ver código fuente, el Möglichkeit, unabhängig de el IDE el Behandlungsroutinen para cada Ver código fuente individuell festzulegen. Dies klingt muy theoretisch - bewährt se sin embargo vollautomatisch en täglichen Programación.
Se puede somit innerhalb des Quelltextes festlegen, como el Ver código fuente behandelt voluntad, o. qué alles beim/después de el Kompilieren geschehen se.
Einfache Beispiele esta son:
· después de el Erstellen el Exe se esta a una otro Punto kopiert voluntad (Batchsupport) · dieser Source es siempre con Prf2Cpp a kompilieren · dieses Programa se una bestimmtes ICON oder una cierto Ressourceinformation tragen
Werden el Compilerschalter en el Ver código fuente angegeben, somit estos zusätzlich a Syntax de XProfan (una Dollarzeichen "$") por geschweifte Klammern einzurahmen. Ein XPSE- Kompilerschalter sieht demzufolge z.B. así de: {$debug} oder {$c} oder {$cleq}
El Kompilerschalter puede cualquier en el Ver código fuente verteilt voluntad, Normalerweise setzt uno Kompilerschalter sin embargo a el Anfang uno Quelltextes. Kompilerschalter puede con un REM-Befehl deaktiviert voluntad. El Angabe de Kompilerschaltern es no caso-Sensitive.
Je después de Typ des Schalters addieren se entweder el auszuführenden Optionen, oder ellos voluntad por el letzte gültige Angabe überschrieben. (Yo glaube esta Satz versteht uno sólo si uno el Schalter angesehen ha)
El Kompilerschalter en el Einzelnen
Shorties
| Shorties son Kompilerschalter welche de sólo una Buchstaben bestehen y el Besonderheit haben, auch miteinander innerhalb uno Kompilerschalteranweisungszeile verknüpft a voluntad. Es also no nötig z.B. en el ersten Línea {$C} y el zweiten Línea {$L} a escribir, pero Shorties puede derart verknüpft voluntad: {$CLEQ}. En Shorties juega auch el Reihenfolge el Angaben ningún papel como XPSE incluso determinado welche Reihenfolge el schlüssigste es. Lo macht also no hay diferencia si {$CLEQ} oder {$QLCE} geschrieben se. Der Información general halber es sin embargo empfohlen el Schalter auch en el logischen Abfolge anzugeben. Ein Linken macht z.B. sólo después de el Compilieren Sinn, y el Starten el Exe es por ejemplo auch no antes el Linken.
{$C} <i>Compile</i> | Der Ver código fuente es a kompilieren. Hierbei son auch otro Compilerschalter - welche se en el Vorgang des Kompilierens beschränken - a beachten.
| {$E} <i>Exe</i> | Nach el Linken el erzeugte Exe starten.
| {$I} <i>Interprete</i> | Ver código fuente en el Interpretermodus starten.
| {$L} <i>Link</i> | Nach el Kompilieren linken.
| {$Q} <i>Quietmode</i> | Wenn kein Error beim Operieren auftrat schließt se XPSE vollautomatisch después de verrichteter Arbeit.
| {$R} <i>Run</i> | Nach el Kompilieren se el kompilierte PRC comenzó.
| {$S} <i>ShowSource</i> | Erzeugten reinen XProfan-Ver código fuente Mostrar.
|
| El otro Kompilerschalter (Non-Shorties) | Diese Kompilerschalter necesario jeweils en uno eigenen Línea posición. Lo puede auch no mehrere Compilerschalter con Befehlstrennungszeichen innerhalb uno individual Línea angegeben voluntad. Einige Kompilerschalter esperar una Parámetro. El Angabe uno nötigen Parámetros es con A gekennzeichnet.
>batch {$BATCH A} | Führt A después de el Abarbeiten el Compilerschalter de. A podrá, a una Batchdatei oder en una Programa zeigen, oder direkt una Batchbefehl ser. Lo kann sólo una Batchbefehl angegeben voluntad, qué z.B. en $INCLUDEPATH anders es. TIP: Beim Angeben de Pfaden oder Dateinamen welche una Freizeichen beinhalten debería Anführungszeichen verwendet voluntad a Pfad+Dateiangaben einzuschließen. Es no XPSE-Maßgabe pero CMD erfordert dies.
'Ejemplo:
{$cleq}
{$batch copy "C:XProfan1.exe" "C:1.exe"}
| >compiler {$COMPILER A} | Legt Expediente A como Compiler para Kompilieren des Quelltextes fest. A kann direkt en una profcomp.exe zeigen, oder en un directorio. Wenn Por ejemplo en un Unterverzeichnis nombre P8 el a verwendende Kompiler liegt, reicht folgende Angabe: {$COMPILER P8}. Selbstverständlich kann auch el gesammte Pfad angegeben voluntad. Durch esta Kompilerschalter es posible innerhalb des Quelltextes el así a verknüpfenden Compiler anzugeben - qué wiederum besonders en el Umgang con específicamente-angefertigten-Runtimes en el Bezug en Ressourcen nützlich es, porque no jede Runtime kann cada Kompilat interpretar. Wird dieser Kompilerschalter neben el Kompilerschalter {$CPP} angegeben - así {$CPP} ausgeführt - y no bajo A angegebene Kompiler. {$CPP} es also stärker.
| >cpp {$CPP} | Übergibt el Ver código fuente en lugar de a el XProfan-Kompiler a Prf2Cpp . El Übergabe es natürlich sólo si en el Ver código fuente auch angewiesen es el el Ver código fuente a Kompilieren {$C} es.
| >debug {$DEBUG} | Dieser Schalter bewirkt el XPSE el Source derart umschreibt, el se el Programa während el Ausführung Línea para Línea incluso aufschreibt. El Edición landet en el gleichnamigen Expediente con el Endung .debug.
Hierbei es a beachten, el el .debug-Expediente en el Directorio el PRF-Expediente creado se - y no en el eventuell abweichendem Ausführungsverzeichnis. Dies es una Sicherheitsaspekt welcher verhindern se en el versehendlicher Weitergabe uno Debugversion el Ver código fuente en el Ausführungsverzeichnis geschrieben se - y somit el Ver código fuente en Abarbeitungsreihenfolge por cada einsehbar wäre.
Derartiges Debuggen es besonders por lo tanto interessant - como XPSE así auch Verschachtelungen des Quelltextes sichtbar macht - y uno en una möglichen Programmabsturz genau sieht welche Línea en welcher Procedimiento para el Choque verantwortlich war. Lo gilt: Erst se el Línea después de .debug geschrieben, y luego ausgeführt.
Optional kann auch {$DEBUG ONLYPROCS} verwendet voluntad. El Edición se darauf eingeschränkt sólo Prozeduraufrufe y el Verlassen de Prozeduren a protokollieren.
| {$DEBUG KERNELOUT} | Dieser Schalter bewirkt el XPSE el Source derart umschreibt, el se el Programa während el Ausführung Línea para Línea incluso aufschreibt. El Edición landet sin embargo no en uno Expediente pero kann con un Debugviewer adecuado voluntad. Hier empfehle Yo DebugView de Sysinternals: https://www.sysinternals.com/Utilities/DebugView.html In allen otro Aspekten gleicht dieser Schalter el {$DEBUG} - Schalter. Optional kann auch {$DEBUG KERNELOUT ONLYPROCS} verwendet voluntad. El Edición se darauf eingeschränkt sólo Prozeduraufrufe y el Verlassen de Prozeduren a protokollieren.
| >includepath {$INCLUDEPATH A} | Fügt A en el Stapel el a durchsuchenden Pfade para Includedateien hinzu. Lo puede a a 5 zusätzliche Pfade angegeben voluntad. El en el ProfanEditor angegebenen Includepfade voluntad automáticamente encima {$INCLUDEPATH} eingebunden.
| >log {$LOG} | Operationen como z.B. Linken oder Kompilieren, el esta Ver código fuente betreffen, voluntad en el xpse.log geschrieben.
| >mapfile {$MAPFILE} | Dieser Schalter übergibt el Kommandozeilenparameter "-M" a el XProfanCompiler más. Nähere Erläuterungen qué "-M" bedeutet es el XProfanhilfe (de Versión 9) => "Mapdatei" a entnehmen. Im MapFile es welche Zeilennummer welcher Expediente (auch Incluye y Unidades) angehört.
| >noerr {$NOERR} | Dieser Schalter bewirkt el Warnings y Errors gänzlich übersehen voluntad, sodaß una Weiterarbeiten con XPSE auch entonces gewährleistet es si XPSE algo no versteht qué aber syntaktisch korrekt es. (Mögliche Neuerungen en el XProfansprache incluso etc...)
| >nodef {$NODEF} | Betrifft sólo Unidades, lo se kein .def-File y kein .hlp.html-File creado. Sollte una el Archivos disponible ser se ellos gelöscht.
| >nosectioncheck {$NOSECTIONCHECK} | Dieser Schalter schaltet el Sektionskontrolle de. Hiermit es gemeint el Fehler como: geduldet voluntad. Von el Nutzung des Schalters rate Yo de. Lo kann sin embargo el Situation auftreten el uno z.B. innerhalb uno älteren Includedatei z.B. Prozeduren innerhalb de IF-Blöcken deklariert ha. Um una Abbruch aller Vorgänge en diesem Fall entgegenzuwirken es dieser Kompilerschalter anzuwenden.
| >runtime {$RUNTIME A} | Legt Expediente A como Runtime para Linken y/oder para Ausführen fest. A kann direkt en una prfrun32.exe zeigen, oder en un directorio. Wenn Por ejemplo en un Unterverzeichnis nombre P8 el a verwendende Runtime liegt, reicht folgende Angabe: {$RUNTIME P8}. Selbstverständlich kann auch el gesammte Pfad angegeben voluntad. Durch esta Kompilerschalter es posible innerhalb des Quelltextes el así a verknüpfende Runtime anzugeben - qué besonders en el Umgang con específicamente- angefertigten-Runtimes en el Bezug en Ressourcen nützlich es.
| >prebatch {$PREBATCH A} | Führt A antes el Abarbeiten el Compilerschalter de. A podrá, a una Batchdatei oder en una Programa zeigen, oder direkt una Batchbefehl ser. Lo kann sólo una Batchbefehl angegeben voluntad, qué z.B. en $INCLUDEPATH anders es. TIP: Beim Angeben de Pfaden oder Dateinamen welche una Freizeichen beinhalten debería Anführungszeichen verwendet voluntad a Pfad+Dateiangaben einzuschließen. Es no XPSE-Maßgabe pero CMD erfordert dies.
'Ejemplo:
{$cleq}
{$prebatch copy "C:XProfan1.exe" "C:1.exe"}
| >preferednamespace {$PREFEREDNAMESPACE A} <iMg src='images/pxt.gif' width=189 height=1/> | Veraltet. Siehe <a href='#unit'>{$unit}. Legt el bevorzugten Namensraum dieser Unit en A fest. A se entonces en el Automatisch erzeugten Ayuda (.hlp.htm-Expediente) para eigendlichen Identifier adecuado. Dieser Kompilerschalter ha sin embargo todavía una otro wichtigen Zweck en Herstellung de Unidades! XPSE wandelt API's de Headern en direkte Call 's en. Damit el Funktionsadressen no con denen de otro Unidades, oder con denen de el Hauptprogramm kollidieren se el Variables welche se esta Funktionsadressen el Prefix A vorangestellt. In Unidades es dieser Schalter somit Pflicht. Aber no Sorge, XPSE meckert si ihm qué no passt. :)
Siehe auch export , noexport y unitsupport .
| >pushkeyword {$PUSHKEYWORD A} | A kann una einzelnes Keyword, oder una Aufzählung de Keywords ser welche con Komma voneinander getrennt voluntad. Dieser Kompilerschalter es una Veralterungsschutz des XPSE. Mit el Schalter puede ser XPSE erklären el el angegebenen KeyWords para Sprachschatz gehören. Der Schalter podría z.B. en uno INC vorkommen welche eingebunden se, oder auch como Beilage a uno Unit dienen a en él enthaltenen Befehle aufzuzeigen.
| >res {$RES A} | A kann una einzelnes Keyword, oder una Aufzählung de Keywords ser welche con Komma voneinander getrennt voluntad. Dieser Kompilerschalter legt fest el cierto Ressourcen el Exe con XPRR (XProfan Ressource Rebuilder de Frank Abbing https://frabbing.de ) verändert voluntad debería. Das puede z.B. el Exeicon, el Versionsinformation, el Fenstericon u otros Ressourcen ser.
NOMANIFEST NOVERSIONINFO
ICON "" WINDOWICON "" EXEICON "" COMPANYNAME "" FILEDESCIPTION "" FILEVERSION "1.0.0.0" INTERNALNAME "" LEGALCOPYRIGHT "" LEGALTRADEMARK "" ORIGINALFILENAME "" PRODUCTNAME "" PRODUCTVERSION "1.0.0.0"
Syntax 1:
{$res productname "meinProduktname"}
{$res icon "test.ico"}
Syntax 2:
{$res productname "meinProduktname", icon "test.ico", productversion "1.0.0.0", ...}
Frank Abbing:
Yo möchte otra vez deutlicher erklären, como XPRR mittels XPSE benutzt voluntad kann:<bR/><bR/><tAbLe style="border:dotted;color:#6666FF" cellspacing=5 cellpadding=5><tR><td><font size=2><b>Icon Resource:</b><bR/><bR/><u>Fenstericon y Exeicon ändern:</u><bR/>{$res icon "dateiname.ico" [icongröße] [mindest-icon-bittiefe]}<bR/><bR/><u>Nur Fenstericon ändern:</u><bR/>{$res windowicon "dateiname.ico" [icongröße] [mindest-icon-bittiefe]}<bR/><bR/><u>Nur Exeicon ändern:</u><bR/>{$res exeicon "dateiname.ico" [icongröße] [mindest-icon-bittiefe]}<bR/><bR/>Die Icongrösse darf weggelassen voluntad, en el Fall wählt XPRR de uno Mehrfach-Icon-Expediente el letzte Icon de. Gültige Grössen son z.B.: 16, 24, 32, 48, 64, 128, ...<bR/>Die Mindest-Icon-Bittiefe darf weggelassen voluntad, en el Fall wählt XPRR de uno Mehrfach-Icon-Expediente el letzte Icon de. Gültige Bittiefen son:<bR/>1=2 Farbe, 4=16 Farben, 8=256 Farben, 24=True Color (24 Bits), 32=True Color+Alpha (32 Bits)</font></tR></tD></tAbLe><bR/><tAbLe style="border:dotted;color:#6666FF" cellspacing=5 cellpadding=5><tR><td><font size=2><b>Manifest Resource 24:</b><bR/><bR/><u>Manifest-resource entfernen:</u><bR/>{$res nomanifest}</font></tR></tD></tAbLe><bR/><tAbLe style="border:dotted;color:#6666FF" cellspacing=5 cellpadding=5><tR><td><font size=2><b>Version-Info Resource:</b><bR/><bR/><u>Version-Resource entfernen:</u><bR/>{$res noversioninfo}<bR/><bR/><u>Einzelne Rubriken el Versión-Resource redactar:</u><bR/>{$res companyname "Firmenname"}<bR/>{$res filedescription "Dateibeschreibung"}<bR/>{$res fileversion "Dateiversion"}<bR/>{$res internalname "Dateiname"}<bR/>{$res legalcopyright "Copyright-Beschreibung"}<bR/>{$res legaltrademark "Trademark-Beschreibung"}<bR/>{$res originalfilename "Originaler Dateiname"}<bR/>{$res productname "Name el Anwendung"}<bR/>{$res productversion "Anwendungsversion"}<bR/><bR/>Jede Rubrik darf máximo 256 Signo lang ser.<bR/>FILEVERSION y PRODUKTVERSION necesario siempre vierstellig Werte ser, getrennt por una Punkt.Un bastante ordinäre Versión 1 debería entonces así aussehen: 1.0.0.0, qué bajo Windows Major.Minor.Build.QFE bedeutet.</font></tR></tD></tAbLe><bR/>Für todos XProfan-Exedateien, el con XPRR bearbeitet voluntad debería gilt:<bR/><bR/><b>Im gleichen Ordner como Profano-Exedatei muss se auch el PRC-Expediente dieser Exe befinden!!! XPRR muss esta beiden Archivos después de getaner Arbeit manuell neu verlinken.</b><bR/><bR/>XPSE es en el Lage, mehrere XPRR-Anweisungen en uno Línea abzuarbeiten, getrennt por Kommata.<bR/>XPRR debería se en el gleichen Ordner befinden como XPSE.<bR/><bR/>
| >unit {$UNIT A} | Legt el bevorzugten Namensraum dieser Unit en A fest y teilt el XProfanKompiler encima $L automáticamente con el se trata de un Unit es. $L entfällt also. A se en el Automatisch erzeugten Ayuda (.hlp.htm-Expediente) para eigendlichen Identifier adecuado. Dieser Kompilerschalter ha sin embargo todavía una otro wichtigen Zweck en Herstellung de Unidades! XPSE wandelt API's de Headern en direkte Call 's en. Damit el Funktionsadressen no con denen de otro Unidades, oder con denen de el Hauptprogramm kollidieren se el Variables welche se esta Funktionsadressen el Prefix A vorangestellt. In Unidades es dieser Schalter somit Pflicht. Aber no Sorge, XPSE meckert si ihm qué no passt. :)
Siehe auch export , noexport y unitsupport .
|
| Kompilerschalter como Kommandozeilenparameter | Kompilerschalter como Kommandozeilenparameter voluntad ignoriert. Aus kompatiblitätsgründen a verschiedenen IDE's Es el Angabe de Kompilerschaltern por Kommandozeilenparameter zwar posible, así el XPSE esta erkennt y así trotzdem el "richtigen" Dateinamen ermitteln kann, aber el übergebenen Schalter voluntad Aufgrund el möglichen Konflikte con Kompilerschaltern en el Ver código fuente übergangen. Folgende Kommandozeilenparameter welche de el verschiedenen IDE's bekannt son voluntad erkannt y terminiert: -E -B -L -S -R -M -V -LINK
Lo son sin embargo específicamente para XPSE Kommandozeilenparameter welche no ignoriert voluntad. Hierzu mehr en el Abschnitt "Kommandozeilenparameter".
|
|
|
|
| |
|
|