| |
|
|
 Jens-Arne Reumschüssel | Guten Abend zusammen,
ich bin kürzlich über das Problem gestolpert, dass XPSE eine ziemlich große Quelldatei von mir nicht mehr verarbeiten konnte. Variablen wurden plötzlich als nicht definiert gemeldet und andere "erratische" Probleme mehr. Ich könnte mir vorstellen, dass dies daran liegt, dass XPSE Schlüsselworte in Windows-Atoms verwaltet. Da ist irgendwann Schluss (bei irgendwas zwischen 60.000 und 70.000 Stück, wobei man bedenken muss, dass XPSE die Windows-API mit vorhält). Vielleicht ist es aber auch etwas ganz anderes, ich kann ja nicht in den "Maschinenraum" von XPSE schauen.
Jedenfalls blieb mir, da XPSE nicht mehr gepflegt wird, nichts anderes übrig, als das nachzubauen. Das Ergebnis ist JRPC3.
----- Features:
*vernünftige Meldung von Fehlern: -die Datei, in der der Fehler auftrat, wird angezeigt (z.B. eine INC-Datei) -es wird immer die Zeilennummer des Moduls ausgegeben, in dem der Fehler auftrat (also z.B. die Zeilennummer innerhalb einer INC-Datei), und nicht die reichlich nutzlose Zeilennummer der Ergebnisdatei -bei allen Fehlern, insbesondere Sektionsfehlern (z.B. if, endif, endif), werden verständliche Meldungen ausgegeben, und zwar so nah wie möglich am Punkt im Quellcode, wo der Fehler zu verorten ist -die Zeile, in der ein Fehler auftrat, kann direkt in XProfEd angezeigt werden, sofern der von mir aufgebohrte XProfEd verwendet wird (siehe unten)
*direkte Anzeige des Programmablaufes in XProfEd (sofern der unten erhältliche aufgebohrte XProfEd verwendet wird): -{$XTRACE ON[,Verzögerung]} bewirkt, dass jede folgende Zeile direkt während des Programmablaufes in XProfEd angezeigt wird (der optionale Parameter <Verzögerung> stellt eine Pause zwischen den Zeilen in Millisekunden ein) -{$XTRACE OFF} schaltet die Ablaufverfolgung wieder ab -dies ist extrem nützlich, um herauszufinden, wo genau ein getestetes Programm abstürzt
*neue Kompilerdirektiven {$TRACEVAR ...} zur Echtzeitverfolgung von Variableninhalten, siehe Menü Hilfe --> Anleitung anzeigen (neuer XProfEd_JR unten für hervorgehobene Anzeige der Direktiven)
*neue Kompilerdirektiven für Zeitmessungen, siehe Menü Hilfe --> Anleitung anzeigen (neuer XProfEd_JR unten für hervorgehobene Anzeige der Direktiven)
*Kompilerdirektiven funktionieren endlich vernünftig -Verschachtelung wird berücksichtigt (in XPSE und auch XProfan ist Verschachtelung zwar möglich, aber innerhalb von $IFDEF DASHIER wird $DEFINE DIESHIER auch dann definiert, wenn DASHIER nicht definiert ist - das ist in JRPC3 anders)
*ein mit JRPC3 gestartetes Programm (interpretiert, .prc gestartet, .exe gestartet) kann mit einem Tastendruck aus JRPC3 heraus gekillt werden - dies ist sehr hilfreich, wenn ein getestetes Programm mal wieder hängenbleibt und normalerweise nur mittels des Taskmanagers beendet werden kann
*extrem schnell (und daher natürlich nicht in XProfan geschrieben, da eine interpretierte Sprache hierfür naturgemäß viel zu langsam ist)
*beim Start von JRPC3 bereits vorhandene .prc-Dateien können zum Starten und Linken genutzt werden (es wird ein Hinweis angezeigt, dass es sich um ein altes Kompilat handelt)
*eingebauter Update-Checker mit Download, falls es ein Update gibt (Hilfe --> online nach Updates suchen)
*64- oder 32-bit-Version verfügbar (einfach JRPC3_64.exe oder JRPC_32.exe als Interpreter in XProfEd hinterlegen [Optionen --> Allgemeine Einstellungen] und JRPC3 mit F7 starten)
*XProfan X4-Syntax verfügbar (möglicherweise noch nicht alles, da ich vermutlich nicht alles davon benutze, aber ich habe mich um Vollständigkeit bemüht - jedenfalls sind z.B. HASH-Arrays und QUADINTs dabei)
*Interpreter, PRCs und EXEs können mit Kommandozeilenparametern ausgeführt werden
*Achtung: Variablen, die in einer Prozedur nicht deklariert sind, sondern "aus dem Hauptprogramm oder der aufrufenden Prozedur übernommen werden", sind nicht zugelassen (XProfan erlaubt das, aber so etwas ist genauso tödlich wie GOTO-Anweisungen). Bitte alle zu nutzenden Inputs als Parameter übergeben, und wenn etwas aus dem aufrufenden Programmteil verändert werden muss, beim Aufruf als Parameter z.B. @addr(x&) verwenden und in der Prozedur parameters x# und LONG x#,0=y& nutzen.
*fast alles aus XPSE funktioniert auch in JRPC3 ({$NOERR}, {$(PRE)BATCH}, {$PUSHKEYWORD}, Interpreter, Runtime und Compiler festlegen, Shorties, ...)
Einschränkungen: -keine nPROCs -kein Inline-Assembler -ABER: man kann XPSE aus JRPC3 heraus aufrufen, sodass diese Funktionalitäten weiterhin verfügbar sind, sofern man XPSE besitzt (neuer Shorty: {$x}) -@external(...)-Aufrufe werden, anders als in XPSE, nicht in @call(...)-Aufrufe umgesetzt - diese sind zwar schneller, aber dann lassen sich Prozeduren nicht mehr als Prozesse aufrufen, wenn darin @external(...)-Aufrufe verwendet werden, weil die im Hauptprogramm definierten @call(...)-Adressen dann im Speichernirvana enden
*als Hommage an XPSE lautet die Endung der Ausgabedatei ".enh3"
----- /Features
JRPC3 kann unten heruntergeladen werden (setup_jrpc3.exe). Als Installationsverzeichnis bitte das XProfan-Stammverzeichnis angeben.
Wenn man das Feature nutzen möchte, die Zeile, in der ein Fehler auftrat, direkt in XProfEd anzeigen zu können, ist der unten verfügbare XProfEd_JR erforderlich. Als "goody" gibt es dazu, dass beim Auf- und Zufalten von Programmen ein Fortschrittsanzeiger integriert ist (das kann bei großen Programmen ja bekanntlich ein bisschen dauern).
Alle Befehle sind mit dem Befehl "h" wie "Hilfe" abrufbar und sollten selbsterklärend sein.
Es ist bestimmt so, dass noch lange nicht alles perfekt funktioniert. Meine Programme lassen sich umsetzen, aber das muss noch lange nicht heißen, dass dies mit Programmen anderer Autoren auch funktioniert, die jeder so ihre Eigenheiten haben. Ich weiß nicht einmal, ob es überhaupt (noch) Bedarf für diesen Präkompiler gibt. Falls jemand daran Interesse hat, wollte ich ihn hier trotzdem nicht vorenthalten.
Fehlermeldungen und Verbesserungsvorschläge gerne an jreumsc@web.de.
Beste Grüße, Jens-Arne |
 | 1.217 kB | | Bezeichnung: | JRPC3 | | Version: | 1.42a | | Kurzbeschreibung: | JRPC3-Installer | | Hochgeladen: | vor 21 Tagen | | Ladeanzahl: |  | | | Herunterladen | | | | 1.717 kB | | Bezeichnung: | XProfEd_JR | | Version: | 5.1 | | Kurzbeschreibung: | aufgebohrter XProfEd, um die Programmzeile von Fehlern, die JRPC3 findet, anzeigen zu können | | Hochgeladen: | vor 21 Tagen | | Ladeanzahl: |  | | | Herunterladen |
|
|
| XProfan X4 * Prf2Cpp * XPSE * JRPC * Win10 64bit * PC i7-7700K@4,2GHz, 16 GB Hauptspeicher PM: jreumsc@web.de | vor 21 Tagen ▲ |
|
|
|
|
 p.specht | Unglaublich! Wird sofort ausprobiert! |
|
|
| |
|
|
|
 Jens-Arne Reumschüssel | Der nervige Fehler im Installer ist behoben, der einem immer ein weiteres Verzeichnis zur Installation untergeschoben hat. Die Installation muss tatsächlich im XProfan-Stammverzeichnis erfolgen, nicht in ein Unterverzeichnis dazu. |
|
|
| XProfan X4 * Prf2Cpp * XPSE * JRPC * Win10 64bit * PC i7-7700K@4,2GHz, 16 GB Hauptspeicher PM: jreumsc@web.de | vor 20 Tagen ▲ |
|
|
|
|
 Georg Teles | Das teste ich auch gleich  |
|
|
| |
|
|
|
 Jens-Arne Reumschüssel | Guten Abend,
ich habe eine neue Direktive hinzugefügt: {$XTRACE ...}.
Damit kann direkt in XProfEd der Ablauf des Programmes verfolgt werden, siehe Erklärung oben und in der Anleitungsdatei. Dies ist extrem nützlich, um herauszufinden, wo genau ein getestetes Programm abstürzt.
Es ist oben auch ein neuer XProfEd erhältlich, der diese Direktive farblich hervorhebt.
Beste Grüße, Jens-Arne |
|
|
| XProfan X4 * Prf2Cpp * XPSE * JRPC * Win10 64bit * PC i7-7700K@4,2GHz, 16 GB Hauptspeicher PM: jreumsc@web.de | Vorgestern (20:55) ▲ |
|
|
|
|
 p.specht | |
|
| |
|
|
|
 Jens-Arne Reumschüssel | Hallo nochmal,
es gibt jetzt eine neue Direktive {$TRACEVAR ...}. Damit kann man Variableninhalte in Echtzeit verfolgen. Bitte die mitinstallierte Anleitung lesen, neue Installationsdatei siehe oben. Wie immer gibt es auch einen neuen XProfEd_JR, der die Direktive im Quelltext hervorhebt.
Da das Feature ziemlich kompliziert umzusetzen ist, bitte ich darum, bei Fehlern gnädig zu sein und mir eine Email zu schicken (jreumsc@web.de).
Beste Grüße, Jens-Arne |
|
|
| XProfan X4XProfan X4 * Prf2Cpp * XPSE * JRPC * Win10 64bit * PC i7-7700K@4,2GHz, 16 GB Hauptspeicher PM: jreumsc@web.de | Gestern (20:59) ▲ |
|
|
|