| |
|
|
- Página 1 - |
|
Jens-Arne Reumschüssel | Bueno Abend zusammen,
Yo bin kürzlich encima el problema gestolpert, dass XPSE una bastante große Quelldatei de No mehr verarbeiten podría. Variables fueron plötzlich como no definiert gemeldet y otro "erratische" Problemas mehr. Yo podría me vorstellen, dass dies daran liegt, dass XPSE Schlüsselworte en Windows-Atoms verwaltet. Como es irgendwann Schluss (en algo zwischen 60.000 y 70.000 Stück, wobei uno bedenken muss, dass XPSE el Windows-API con vorhält). Tal vez lo aber auch algo bastante más, Yo de hecho puede no en el "Maschinenraum" de XPSE schauen.
Jedenfalls blieb me, como XPSE no mehr gepflegt se, nichts más übrig, como el nachzubauen. Das Ergebnis es JRPC3.
----- Features:
*vernünftige Meldung de Fehlern *direkte Anzeige des Programmablaufes en XProfEd (sofern el unten erhältliche aufgebohrte XProfEd verwendet se) *Umsetzung el alten Profano-Syntax para Operatoren y alte Containerfunktionen *extremo schnelle native fbPROCs, sofern uno FreeBasic installiert ha (libre, siehe Ayuda) *con fbPROCs kann zudem Inline-Ensamblador auch antes XProfan X4 realisiert voluntad *extremo schnelle native pbPROCs, sofern uno PureBasic installiert ha *Echtzeitverfolgung de Variableninhalten *einfache Zeitmessungen en el Programmablauf *Profano-Kompilerdirektiven trabajo endlich vernünftig (z.B. Verschachtelung) *eingebettete Variables trabajo auch con Arrays *el meisten WIN32-API-Características son ya vordefiniert mitgeliefert *API-Aufrufe encima @external(...) voluntad automáticamente en @call(...)-Aufrufe umgesetzt *Einrückungsanalyse para Finden de vertrackten Verschachtelungsfehlern *Klammeranalyse para Finden de vertrackten Klammerfehlern *ENUMERATE-Funktionalität *Assert a Fehlerkontrolle *lo puede beliebige DLL en el XProfan-EXE integriert voluntad, sodass ellos no con ausgeliefert voluntad necesario (siehe {$WrapDll}) *einfaches Killen de con JRPC3 gestarteten Programmen (interpretiert, .prc comenzó, .exe comenzó) *extremadamente rápido (y por lo tanto natürlich no en XProfan geschrieben, como una interpretierte Lingua esta naturgemäß viel a langsam es) *beim Start de JRPC3 ya vorhandene .prc-Archivos puede para Starten y Linken genutzt voluntad (lo se una Referencia adecuado, dass es una altes Kompilat es) *el Profano-Compiler kann a Beschleunigung con hoher Prozessorpriorität aufgerufen voluntad *eingebauter Actualización-Checker con Descargar, si lo una Actualización son (Ayuda --> online después de Updates suchen) *64- oder 32-bit-Versión verfügbar (simplemente JRPC3_64.exe oder JRPC_32.exe como Interpreter en XProfEd hinterlegen [Optionen --> Allgemeine Einstellungen] y JRPC3 con F7 starten) - Achtung, el 64-bit-Versión producido natürlich no 64-bit-XProfan-Programas, como XProfan el no kann, pero JRPC3 incluso se como 64-bit-Programa ausgeführt *XProfan X4-Syntax verfügbar (möglicherweise todavía no alles, como Yo vermutlich no alles su benutze, pero yo habe mich en Vollständigkeit bemüht - jedenfalls son z.B. HASH-Arrays y QUADINTs esta) *Interpreter, PRCs y EXEs puede con Kommandozeilenparametern ausgeführt voluntad *Interpreter, PRCs, EXEs y XPSE puede con Administratorrechten ausgeführt voluntad *Prozeduren, el en el aktuellen Programa zwar enthalten son, pero no verwendet voluntad, voluntad de el umgesetzten Expediente lejos, a Dateigröße des Kompilats möglichst klein a halten *Variables, el en el aktuellen Programa zwar enthalten son, pero no verwendet voluntad, voluntad de el umgesetzten Expediente lejos, a Dateigröße des Kompilats möglichst klein a halten y el Speicherverbrauch a optimieren *nPROCs de XPSE voluntad automáticamente con XPE a uno DLL umgesetzt y el Aufrufe el nPROCs en el Programa entsprechend adaptado, sofern XPSE disponible es *fast alles de XPSE funktioniert auch en JRPC3 ({$NOERR}, {$(PRE)BATCH}, {$PUSHKEYWORD}, Interpreter, Runtime y Compiler festlegen, Shorties, ...) *XProfEd_JR con Ver código fuente-AutoComplete *XProfEd_JR con Ver código fuente-Memory-Función (Markierungen, a denen zurückgesprungen voluntad kann)
Einschränkungen: -kein XPSE-Inline-Ensamblador, wohl aber XProfan-Inline-Ensamblador (en él allerdings no Prüfungen en Korrektheit des Codes) -ABER: uno kann XPSE de JRPC3 heraus aufrufen, sodass esta Funktionalität weiterhin verfügbar es, sofern uno XPSE besitzt (neuer Shorty: {$x}) -Variables, el en uno Procedimiento no deklariert son, pero "aus el aufrufenden Procedimiento übernommen werden", son standardmäßig no zugelassen (XProfan erlaubt el, aber así algo es genauso tödlich como GOTO-Anweisungen). Bitte todos a nutzenden Inputs como Parámetro transferencia, y si algo de el aufrufenden Programmteil verändert voluntad muss, beim Aufruf como Parámetro z.B. @addr(x&) uso y el Procedimiento parámetros x# y LONG x#,0=y& nutzen. Wenn uno aber necesariamente "vererbte" Variables nutzen möchte, puede ser dies con el Kompilerdirektive {$Declarar...} tun.
*como Hommage a XPSE lautet el Endung el Ausgabedatei ".enh3"
Un genauere Erläuterung el individual Features es el chm-Hilfedatei a entnehmen, el en el Programa bajo Ayuda --> Hilfedatei Mostrar oder con F1 verfügbar es.
----- /Features
Descargar y installieren: JRPC3 kann unten heruntergeladen voluntad (setup_jrpc3.exe oder como ZIP-Expediente). Als Installationsverzeichnis Por favor, el XProfan-Stammverzeichnis angeben, also dasjenige, en el el Archivos PROFAN.EXE, PROFCOMP.EXE, PRFRUN32.EXE etc. mentira. Alternativ kann el ZIP-Expediente heruntergeladen y deren Inhalt manuell en el XProfan-Stammverzeichnis kopiert voluntad.
Einrichtung: JRPC3_64.exe oder JRPC_32.exe como Interpreter en XProfEd hinterlegen [Optionen --> Allgemeine Einstellungen] y JRPC3 con F7 starten.
Alle Befehle son con el Befehl "h" como "Hilfe" abrufbar y debería selbsterklärend ser.
Für viele erweitere Features, el XProfEd betreffen, como z.B. jenes, el Línea, en el una Fehler auftrat, direkt en XProfEd Mostrar a puede, es el mitinstallierte XProfEd_JR erforderlich. Dafür muss uno also XProfEd_JR.exe en lugar de XProfEd.exe como Editor benutzen. Als "goody" hay dazu, dass beim Auf- y Zufalten de Programmen una Fortschrittsanzeiger integriert es (el kann en großen Programmen sí bekanntlich una bisschen dauern).
Lo mag ser, dass todavía no alles perfekt funktioniert. Yo Por favor, esta en Nachsicht. Mi Programas dejar se umsetzen, aber el muss todavía largo no heißen, dass dies con Programmen otro Autores, el cada así ihre Eigenheiten haben, auch funktioniert.
Fehlermeldungen y Verbesserungsvorschläge gerne a jreumsc@web.de oder hier en el Foro.
Beste Grüße, Jens-Arne |
| 2.584 kB | | Bezeichnung: | JRPC3 | | Versión: | 10.29 | | Kurzbeschreibung: | JRPC3-Installer | | Hochgeladen: | 15.02.2021 | | Ladeanzahl: | | | | Descargar | | | | 1.699 kB | | Bezeichnung: | XProfEd_JR | | Versión: | 5.2 | | Kurzbeschreibung: | Alte Versión sin AutoComplete a Sicherheit | | Hochgeladen: | 15.02.2021 | | Ladeanzahl: | | | | Descargar | | | | 3.777 kB | | Bezeichnung: | JRPC3 | | Versión: | 10.29 | | Kurzbeschreibung: | ZIP-Expediente en lugar de Installer | | Hochgeladen: | 02.04.2021 | | Ladeanzahl: | | | | Descargar |
|
|
| XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM PM: jreumsc@web.de | 16.02.2021 ▲ |
|
|
|
| |
|
- Página 24 - |
|
|
« Dieser Contribución wurde como Solución gekennzeichnet. » |
|
- Página 15 - |
|
Jens-Arne Reumschüssel | Lo son una neue Versión, el anders con el internen Messagehandling umgeht. Bitte probier el veces de. Tal vez el problema así Fijo. |
|
|
| XProfan X4XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM PM: jreumsc@web.de | 24.09.2022 ▲ |
|
|
|
|
|
Walter | OK! Posesiones 0 reingeschrieben - y lo se ejecuta! Diese DLL Yo en el Erzeuger-Homepage www.paehl.de/ auch no mehr gefunden. Como ellos aber bien funktioniert, Puse ellos weiterhin una. Gracias! |
|
|
| |
|
|
|
Jens-Arne Reumschüssel | Probier veces dieses kleine Programa de:
{$NoExternal2CallConversion} {$NoDef2ExternalConversion} {$SetFbDllName Test_fbprocs}
DEF fbTestProc2(1) !"Test_fbprocs.dll","FBTESTPROC@4"
fbPROC fbTestProc(byval i as integer) as integer Export volver i ENDPROC
cls imprimir "Direktaufruf: "+@str$(fbTestProc(chr$(0))) imprimir "via Externo: "+@str$(@external("Test_fbprocs.dll","FBTESTPROC@4",chr$(0))) imprimir "via Call: "+@str$(@call(@GetFbProcAddr("fbTestProc"),chr$(0))) imprimir "via DEF: "+@str$(@fbTestProc2(chr$(0))) waitinput end
Daran se klar, dass todos Funktionsaufruf-Métodos siempre korrekt después de interner Typumwandlung el Adresse uno Cuerdas transferencia, el chr$(0) enthält, sólo DEF no. DEF übergibt unkorrekt 0. |
|
|
| XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM PM: jreumsc@web.de | 23.05.2023 ▲ |
|
|
|
|
Walter | Glaub Usted el voll!
Ausprobieren va pero no, como se lo en el Präcompiler en nimmer Wiedersehen verabschiedet.
Brauche Yo dazu el Test_fbprocs.dll? |
|
|
| |
|
|
|
Jens-Arne Reumschüssel | Also el es merkwürdig. Puedo el problemlos starten, auch con "<Tilde><Tilde>temp<Tilde><Tilde>.prf" como Dateiname. Daher otra vez el zugegebenermaßen algo hilflose Cuestión: Hast Usted el neuste Versión de JRPC3 benutzt? Sonst Sé que no, woran el mentira podría. Und el Expediente Test_fbprocs.dll se sí gerade sólo por el Programa producido, el musst Usted also no vorher haben. |
|
|
| XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM PM: jreumsc@web.de | 27.05.2023 ▲ |
|
|
|
|
Walter | Sooooo ... geschafft. Problema war wahrscheinlich, dass Yo el Source no gespeichert hatte (?). Jedenfalls es después de el Guardar nun gelaufen - y yo sehe el Ergebnis!
Jetzt muss Yo mich todavía con freebasic beschäftigen, en auch propio DLL erzeugen a puede!
Doch igual el nächste Cuestión : ¿Por qué se beim call-Aufruf una más i zurückgegeben como beim Direktaufruf y beim external? Sollte doch el Valor derselben Adresse ser? |
|
|
| |
|
|
|
Jens-Arne Reumschüssel | Nein, el es el Trick esta: En cada Übergabe de chr$(0) se de XProfan intern una neuer String producido y dessen Adresse transferencia. Direkt después de Rückkehr el DLL-Función se el String con Sicherheit inmediatamente otra vez freigegeben. Daher ha cada Aufruf una otro, zufällige String-Adresse.
Es incluso en XProfan-Cuerdas incluso el Fall. Jedes Tiempo, si una String una neuen Inhalt zuweist (incluso si derselbe es como vorher), es el String danach a uno bastante otro Speicheradresse. Intern se sí siempre genau así viel Speicher angefordert, como para el Longitud des Cuerdas erforderlich es. Und como esta Longitud variabel es, se en el cada Zuweisung neu vorgenommen. Deshalb es el Arbeiten con übergebenen Cuerdas en fb-/pbPROCs así kompliziert, porque el Speicheradresse de Cuerdas variabel es, en el Gegensatz a Speicheradresse de z.B. Integer-Variables.
Ejemplo:
|
|
|
| XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM PM: jreumsc@web.de | 28.05.2023 ▲ |
|
|
|
|
Jens-Arne Reumschüssel | Versión 9.17a verfügbar:
{$WrapDlls} eingeführt. Damit voluntad el de fb-/pbPROCs erzeugten DLL direkt en el XProfan-Exe-Expediente integriert, sodass ellos no mehr mitgeliefert voluntad necesario. Siehe Ayuda-Expediente a Kompilerdirektiven --> {$WrapDlls}.
Beste Grüße, Jens-Arne |
|
|
| XProfan X4XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM PM: jreumsc@web.de | 28.05.2023 ▲ |
|
|
|
|
Walter | Ok, danke para el Erklärung! |
|
|
| |
|
|
|
funkheld | Geht el Por favor, auch para Purebasic?
Gracias. gruss |
|
|
| |
|
|
|
Jens-Arne Reumschüssel | ¡Hola funkheld,
sí. Se puede incluso FreeBasic y PureBasic nebeneinander benutzen, si uno möchte. Dann voluntad con {$WrapDlls} beide DLL en el Profano-Programa instalado. |
|
|
| XProfan X4XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM PM: jreumsc@web.de | 31.05.2023 ▲ |
|
|
|
|
Jens-Arne Reumschüssel | V9.26: pbPROCs con frei wählbaren Rückgabetypen instalado
Deklarationsbeispiel: pbPROC ProcName.s() para una String como Rückgabewert
El Typangabe kommt also después de el Prozedurnamen, no después de "pbPROC", como en reinem PureBasic üblich wäre [Procedure.s ProcName()].
ACHTUNG: Von Integer abweichende Rückgabetypen dürfen no en pbPROCs verwendet voluntad, el vom XProfan-Programa aufgerufen voluntad, como Rückgabewerte de DLL-Prozeduren ans Hauptprogramm siempre 4 Bytes breit ser necesario. Sehr wohl aber en "Hilfs-pbPROCs", el sólo de otro pbPROCs aufgerufen voluntad.
Genauer dijo dürfen en extern verwendeten Características no Rückgabetypen benutzt voluntad, el no vier Bytes ocupar. Single (.f en PureBasic) sería also durchaus ir. Aber el son Feinheiten.
En fbPROCs war el alles kein großes Problema, como en FreeBasic el Rückgabetypdefinition con As ... después de el Parameterklammer kommt. Für pbPROCs musste aber una spezielle Schreibweise dafür her.
Saludo, Jens-Arne |
|
|
| XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM PM: jreumsc@web.de | 12.06.2023 ▲ |
|
|
|
|
Jens-Arne Reumschüssel | V9.31a: Lo puede nun beliebige DLL direkt en el XProfan-EXE integriert voluntad. Hierzu es {$WrapDll <DLL-Name>} utilizarse. El DLL-Expediente muss entonces no mehr mitgeliefert voluntad.
Dies es allerdings sólo en relativ pequeño DLL sinnvoll, porque sonst el Ladezeit des XProfan-Programms a groß voluntad sería. Wenn uno aber z.B. prfdat32.dll einbinden möchte, entonces esta Función perfekt dafür geeignet.
{$WrapDll ...} wirkt como ImportDll(). El Características el DLL puede also direkt en el Code verwendet voluntad. Ein Aufruf encima @external() restos aber ebenfalls posible. Beides se de JRPC3 en schnelle @call()-Aufrufe verwandelt.
Saludo, Jens-Arne |
|
|
| XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM PM: jreumsc@web.de | 14.06.2023 ▲ |
|
|
|