| |
|
|
- 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 11 - |
|
|
« 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 ▲ |
|
|
|
|
|
Jens-Arne Reumschüssel | Hier de paso todavía una Ejemplo, cómo con Arrays umzugehen hätte. Es nämlich auch algo tricky (Byte Pointer en lugar de Integer Pointer uso, siehe Erklärung en el Ejemplo, sonst wundert uno se bastante furchtbar, welche Speicherplätze angesprochen voluntad).
{$FBSYNTAX ON}
declarar a%[2]
fbPROC fbArrayTest1(ByVal p As Byte Pointer) As Integer Export poke integer,p+0,100 'hier p siempre en 4 erhöhen, como p como Byte Pointer definiert es y FreeBasic por lo tanto beim Pointer siempre una Byte weiterzählt poke integer,p+4,101 'el entspricht el intuitiven Vorgehen, si uno Integers en una Speicherbereich schreibt poke integer,p+8,102 volver 0 ENDPROC
fbPROC fbArrayTest2(ByVal p As Integer Pointer) As Integer Export poke integer,p+0,103 'hier p siempre sólo en 1 erhöhen, como p como Integer Pointer definiert es y FreeBasic weiß, como viele Bytes en cada Element stecken (nämlich 4 pro Integer) poke integer,p+1,104 'el es *no* necesariamente intuitiv; Yo sería algo como vermeiden y más bien Byte Pointer para Arrays benutzen poke integer,p+2,105 volver 0 ENDPROC
cls fbArrayTest1(@addr(a%[0])) imprimir a%[0] imprimir a%[1] imprimir a%[2] imprimir fbArrayTest2(@addr(a%[0])) imprimir a%[0] imprimir a%[1] imprimir a%[2] waitinput end
|
|
|
| XProfan X4XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM PM: jreumsc@web.de | 17.01.2022 ▲ |
|
|
|
|
Jens-Arne Reumschüssel | Zu Deiner Cuestión darüber (nullterminierte gepushte String-Bereichsvariablen):
Es desafortunadamente momentan no. Como debería Yo SharedInFbProcs erweitern. Im Principio posible, pero yo weiß no, si el al Ende el Lesbarkeit des Codes wirklich mejorado. Dann debería uno se merken, dass uno una Bereichsvariable wirklich sólo dafür definiert ha.
Yo nehme una vez a, Usted möchtest viele Cuerdas en una vez transferencia. Pack el Adressen simplemente en un propio Bereichsvariable y übergib esta una el fbProc. Dann extrahierst Usted lo el Cuerdas.
{$FBSYNTAX on}
declarar b1#,b2#,b3#,uebergabe#
fbProc fb3Cuerdas(ByVal uebergabe As Any Pointer) As Integer Export dim As ZString Pointer s1,s2,s3 s1=peek(ZString Pointer,uebergabe) s2=peek(ZString Pointer,uebergabe+4) s3=peek(ZString Pointer,uebergabe+8) screenres(400,300) imprimir *s1 imprimir *s2 imprimir *s3 volver 0 ENDPROC
cls dim b1#,10000 dim b2#,10000 dim b3#,10000 cadena b1#,0="String 1" cadena b2#,0="String 2" cadena b3#,0="String 3" dim uebergabe#,12 long uebergabe#,0=b1# long uebergabe#,4=b2# long uebergabe#,8=b3# fb3Cuerdas(uebergabe#) waitinput disponer uebergabe#,b1#,b2#,b3# end
|
|
|
| XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM PM: jreumsc@web.de | 17.01.2022 ▲ |
|
|
|
|
Jens-Arne Reumschüssel | Tal vez es con el Arrays así algo mejor, sin Gepoke:
{$FBSYNTAX on}
declarar a%[10],i%
fbProc fbArrayTest(ByVal p As Any Pointer) As Integer Export dim i As Byte dim a(10) As Integer Pointer for i=0 to 10 a(i)=p+(i*4) 'Adresse des Elements conjunto *a(i)=i 'el Element una Valor zuweisen next i volver 0 ENDPROC
cls fbArrayTest(@addr(a%[0])) for i%,0,10 imprimir a%[i%] endfor waitinput end
|
|
|
| XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM PM: jreumsc@web.de | 17.01.2022 ▲ |
|
|
|
|
funkheld | Gracias Jens-Arne hast me otra vez en kürze 10 km weitergeholfen. Su Beispiele son wunderbar Verfolgbar.
Como du lo oben zeigst , brauche Yo dieses no mehr : ------------------------------- nullterminierte gepushte Cuerdas-Bereichsvariablen -------------------------------
Mit el Bereichen y el Array es einfacher a handhaben.
Gracias. Gruss |
|
|
| |
|
|
|
funkheld |
¡Hola Jens-Arne, me es una Fehlermeldung aufgefallen (siehe Bild) en el Befehl : LoadBmp Name$,0,0; 0
Gruss
|
|
|
| |
|
|
|
Jens-Arne Reumschüssel | Sí, el es Absicht y ha el Grund, dass el Befehl veraltet es.
Das es dazu en el XProfan-Ayuda:
"Dieser Befehl se en künftigen XProfan-Versionen no mehr unterstützt. Stattdessen es el Befehl DrawPic utilizarse."
Saludo, Jens-Arne |
|
|
| XProfan X4XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM PM: jreumsc@web.de | 18.01.2022 ▲ |
|
|
|
|
funkheld | Gracias para el Info. Pensé en XProfanx4 son el ollen Kamellen no mehr drin.
Also en solchen Fehlermeldungen sólo veces schauen si así una Murx todavía drin es, el no mehr geben se.
Gruss |
|
|
| |
|
|
|
Jens-Arne Reumschüssel | Se puede ahora "endfor" en lugar de "next" en fbProcs escribir. Das Tuve en el "Konzessionen" vergessen. |
|
|
| XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM PM: jreumsc@web.de | 18.01.2022 ▲ |
|
|
|
|
funkheld | Gracias para el Info.
Läßt du dieses XPSE aún en deiner Descripción drin? Yo sería el XPSE hay ahora rausnehmen. Finde dafür no rückfragen de Hilfestellungen usw. mehr.
Yo selber habe mich su auch verabschiedet y nutze ahora dieses FreeBasic para el Erweiterungen.
Gruss |
|
|
| |
|
|
|
p.specht
| Einspruch, Yo brauche el Ensamblador-Möglichkeiten y api-Konstanten de XPSE. Nebenbei bemerkt, Jens-Arne es berufstätig. Erstaunlich, daß él se soviel Tiempo para Rückfragen nimmt - simplemente toll! |
|
|
| XProfan 11Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 19.01.2022 ▲ |
|
|
|
|
funkheld | Na endlich meldet se veces uno seit langer Tiempo para XPSE , klasse. Pensé el Spezies son ausgestorben y ya en el Himmel.
Yo grüße dich du XPSE fan.
Mein Interesse es ahora después de FreeBasic gegangen a Erweiterung des XProfanx4.
Como Jens-Arne geschrieben ha es dieses XPSE no así ligeramente a bändigen y ha siempre weitere neueProbleme bereitet.
Yo habe ya einiges programmiert para mich y bin esta mi eigenen XPSE-Programas umzustellen después de FreeBasic.
Gruss |
|
|
| |
|
|
|
Jens-Arne Reumschüssel | Ensamblador restos XPSE-Domäne. API-Konstanten son en JRPC3 auch drin. Wenn welche fehlen, Por favor, siempre her así, el kann Yo dazupacken.
Aunque Sé que gern una vez, si Ensamblador wirklich así viel más rápido es como FreeBasic. Letzteres se sí direkt en Maschinensprache traducido, also letztlich en Ensamblador - y lo landet en XPSE en uno DLL, el entonces vom XProfan-Programa aufgerufen se, genau como en FreeBasic con JRPC3. Natürlich hacer Hochsprachen como siempre einiges algo weniger optimal, como si uno seine Routinen direkt y incluso en Ensamblador schreibt (Yo no kann), aber como groß es como el Diferencia? Peter, kannst Usted en el Gelegenheit veces testen?
Saludo, Jens-Arne |
|
|
| XProfan X4XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM PM: jreumsc@web.de | 19.01.2022 ▲ |
|
|
|