Français
SDK-Helfer/ Tools

JRPC neuer Präkompiler pour XProfan X4 - JRPC3

 
- page 1 -



Jens-Arne
Reumschüssel
Guten soir zusammen,

je suis kürzlich sur cela Problem gestolpert, dass XPSE une assez grand Quelldatei de Je ne plus verarbeiten konnte. Variablen wurden soudain comme pas défini gemeldet et autre "erratische" Probleme plus. je pourrait mir présenter, dass ca daran liegt, dass XPSE Schlüsselworte dans Windows-Atoms verwaltet. voilà irgendwann Schluss (chez irgendwas entre 60.000 et 70.000 Stück, wobei on considérer muss, dass XPSE qui Windows-API avec vorhält). Peut-être es mais aussi quelque chose entier d'autre, je peux oui pas dans den "Maschinenraum" de XPSE regarder.

Jedenfalls blieb mir, là XPSE pas plus gepflegt wird, rien d'autre übrig, comme cela nachzubauen. cela Ergebnis ist JRPC3.

----- Features:

*vernünftige annonce de Fehlern
*directe Anzeige des Programmablaufes dans XProfEd (sofern qui unten erhältliche aufgebohrte XProfEd verwendet wird)
*Umsetzung qui alten Profan-Syntax pour Operatoren et vieille Containerfunktionen
*extrem schnelle native fbPROCs, sofern on FreeBasic installiert hat (kostenlos, siehe Aider)
*avec fbPROCs peux zudem Inline-Assembler aussi avant XProfan X4 realisiert volonté
*extrem schnelle native pbPROCs, sofern on PureBasic installiert hat
*Echtzeitverfolgung de Variableninhalten
*simple Zeitmessungen im Programmablauf
*Profan-Kompilerdirektiven marcher enfin vernünftig (z.B. Verschachtelung)
*eingebettete Variablen marcher aussi avec Arrays
*qui meisten WIN32-API-Funktionen sommes bereits vordefiniert mitgeliefert
*API-Aufrufe sur @external(...) volonté automatisch dans @call(...)-Aufrufe mise en œuvre
*Einrückungsanalyse zum trouver de vertrackten Verschachtelungsfehlern
*Klammeranalyse zum trouver de vertrackten Klammerfehlern
*ENUMERATE-Fonctionnalité
*Assert zur Fehlerkontrolle
*es peut beliebige DLL dans qui XProfan-EXE integriert volonté, sodass vous pas avec ausgeliefert volonté doit (siehe {$WrapDll})
*simple Killen de avec JRPC3 gestarteten Programmen (interpretiert, .prc gestartet, .exe gestartet)
*extrem vite (et daher naturellement pas dans XProfan geschrieben, là une interpretierte Discours hierfür naturgemäß viel trop lente ist)
*beim Start de JRPC3 bereits vorhandene .prc-Fichiers peut zum Starten et Linken genutzt volonté (es wird un Hinweis angezeigt, dass es sich um un altes Kompilat handelt)
*qui Profan-Compiler peux zur Beschleunigung avec hoher Prozessorpriorität aufgerufen volonté
*eingebauter Update-Checker avec Télécharger, si es un Update gibt (Aider --> online pour Updates chercher)
*64- ou bien 32-bit-Version disponible (simple JRPC3_64.exe ou bien JRPC_32.exe comme Interpreter dans XProfEd hinterlegen [Optionen --> Allgemeine Einstellungen] et JRPC3 avec F7 starten) - attention, qui 64-bit-Version erzeugt naturellement aucun 64-bit-XProfan-Programme, là XProfan cela pas peux, mais JRPC3 selbst wird comme 64-bit-Programme fonctionnement
*XProfan X4-Syntax disponible (möglicherweise encore pas alles, là je probablement pas alles en benutze, mais j'ai mich um Vollständigkeit prêt - jedenfalls sommes z.B. HASH-Arrays et QUADINTs dabei)
*Interpreter, PRCs et EXEs peut avec Kommandozeilenparametern fonctionnement volonté
*Interpreter, PRCs, EXEs et XPSE peut avec Administratorrechten fonctionnement volonté
*Prozeduren, qui dans dem aktuellen Programme zwar enthalten sommes, mais pas verwendet volonté, volonté aus qui umgesetzten Dossier entfernt, à Dateigröße des Kompilats possible petite trop tenir
*Variablen, qui dans dem aktuellen Programme zwar enthalten sommes, mais pas verwendet volonté, volonté aus qui umgesetzten Dossier entfernt, à Dateigröße des Kompilats possible petite trop tenir et den Speicherverbrauch trop optimaliser
*nPROCs aus XPSE volonté automatisch avec XPE trop einer DLL mise en œuvre et qui Aufrufe qui nPROCs im Programme entsprechend angepasst, sofern XPSE vorhanden ist
*presque alles aus XPSE funktioniert aussi dans JRPC3 ({$NOERR}, {$(PRE)BATCH}, {$PUSHKEYWORD}, Interpreter, Runtime et Compiler festlegen, Shorties, ...)
*XProfEd_JR avec Voir le texte source-AutoComplete
*XProfEd_JR avec Voir le texte source-Memory-Funktion (Markierungen, trop denen zurückgesprungen volonté peux)

Einschränkungen:
-ne...aucune XPSE-Inline-Assembler, wohl mais XProfan-Inline-Assembler (y allerdings aucun Prüfungen sur Korrektheit des Codes)
-ABER: il peut XPSE aus JRPC3 heraus appel, sodass cet Fonctionnalité weiterhin disponible ist, sofern on XPSE besitzt (neuer Shorty: {$x})
-Variablen, qui dans einer Procédure pas deklariert sommes, mais "aus qui aufrufenden Procédure übernommen werden", sommes standardmäßig pas zugelassen (XProfan erlaubt cela, mais so quelque chose ist genauso tödlich comment GOTO-Anweisungen). s'il te plaît alle trop nutzenden Inputs comme paramètre transfert, et si quelque chose aus dem aufrufenden Programmteil modifié volonté muss, beim Aufruf comme paramètre z.B. @addr(x&) verwenden et dans qui Procédure parameters x# et LONG x#,0=y& nutzen.
si on mais absolument "vererbte" Variablen nutzen voudrais, peux on ca avec qui Kompilerdirektive {$Déclarer...} 1faire.

*comme Hommage à XPSE lautet qui Endung qui Ausgabedatei ".enh3"

une genauere Erläuterung qui individuel Features ist qui chm-Hilfedatei trop entnehmen, qui im Programme sous Aider --> Hilfedatei Montrer ou bien avec F1 disponible ist.

----- /Features

Herunterladen et installer:
JRPC3 peux unten heruntergeladen volonté (setup_jrpc3.exe ou bien comme ZIP-Dossier).
comme Installationsverzeichnis s'il te plaît cela XProfan-Stammverzeichnis angeben, alors dasjenige, dans dem qui Fichiers PROFANE.EXE, PROFCOMP.EXE, PRFRUN32.EXE etc. liegen. Alternativ peux qui ZIP-Dossier heruntergeladen et en le contenu manuel ins XProfan-Stammverzeichnis kopiert volonté.

Einrichtung:
JRPC3_64.exe ou bien JRPC_32.exe comme Interpreter dans XProfEd hinterlegen [Optionen --> Allgemeine Einstellungen] et JRPC3 avec F7 starten.

Alle Befehle sommes avec dem Befehl "h" comment "Hilfe" abrufbar et devrait selbsterklärend son.

Pour viele erweitere Features, qui XProfEd betreffen, comment z.B. jenes, qui la ligne, dans qui un faute auftrat, direct dans XProfEd Montrer trop peut, ist qui mitinstallierte XProfEd_JR erforderlich. Pour cette muss on alors XProfEd_JR.exe statt XProfEd.exe comme Editor benutzen. comme "goody" gibt es en supplément, dass beim sur- et Zufalten de Programmen un Fortschrittsanzeiger integriert ist (cela peux chez grand Programmen oui bekanntlich un bisschen dauern).

Es mag son, dass encore pas alles parfait funktioniert. je s'il te plaît hierfür um Nachsicht. mon  Programme laisser sich umsetzen, mais cela muss encore longtemps pas appeler, dass ca avec Programmen anderer Auteurs, qui chacun so ses Eigenheiten avons, aussi funktioniert.

Fehlermeldungen et Verbesserungsvorschläge volontiers à jreumsc@web.de ou bien ici im Forum.

Beste Grüße, Jens-Arne

2.665 kB
Bezeichnung:JRPC3
Version:10.40
Kurzbeschreibung: JRPC3-Installer
Hochgeladen:15.02.2021
Downloadcounter393
Download
1.699 kB
Bezeichnung:XProfEd_JR
Version:5.2
Kurzbeschreibung: vieille Version sans AutoComplete zur Sicherheit
Hochgeladen:15.02.2021
Downloadcounter243
Download
4.065 kB
Bezeichnung:JRPC3
Version:10.40
Kurzbeschreibung: ZIP-Dossier statt Installer
Hochgeladen:02.04.2021
Downloadcounter304
Download
 
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
16.02.2021  
 



 
- page 21 -


« cette Beitrag wurde comme Solution gekennzeichnet. »

- page 15 -



Jens-Arne
Reumschüssel
il y a une neue Version, qui anders avec dem internen Messagehandling umgeht. s'il te plaît probier qui la fois aus. Peut-être cela Problem avec cela behoben.
 
XProfan X4
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
24.09.2022  
 




funkheld
allô merci pour deine travail , cela hört sich avec Purebasic bien à.

Werden de Purebasic aussi une DLL erstellt comment chez Freebasic?

merci pour deine Aider.

Werde es testen comme sich verhält.
je spiele depuis 10 Jahren avec Purebasic.

cela FreeBasic une difficulté hat chez Neueinsteigeren , gebe je dir droite.
cela Freebasic kenne je aussi bien , mais so richtige Freundschafft ist pas zustande pris.

Gruss
 
08.05.2023  
 




funkheld
pourquoi wird s'il te plaît chaque fois qui Purebasiccompiler rausgeschmissen?

venez toujours qui annonce cela qui PB-Compiler pas trouvé wird .

merci.
 
08.05.2023  
 




funkheld
hm...
 
09.05.2023  
 




Jens-Arne
Reumschüssel
allô Funkheld,

mon erstes Problem ist, dass je offensichtlich réellement aucun Emails plus bekomme, si ici quelqu'un quelque chose écrit. je n'en sais rien, pourquoi cela so ist. c'est pourquoi peut sich mon répondre malheureusement quelque chose verzögern.

Ansonsten: oui, qui pbPROCs erzeugen également une DLL, oui c'est ca comment qui fbPROCs. pourquoi chez Dir qui Compiler pas trouvé wird, erschließt sich mir im Moment pas. Du musst dans den Optionen de JRPC3 den 32-bit-Compiler de Purebasic angeben. ensuite sollte qui aussi trouvé volonté. il s'appelle pbcompiler.exe. Pour cette muss on près de qui 64-bit-Version naturellement aussi qui 32-bit-Version de Purebasic installiert avons. si cela alles soweit dans Ordre ist et toujours Probleme auftauchen, bräuchte je s'il te plaît einmal une Screenshot.

Beste Grüße, Jens-Arne
 
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
09.05.2023  
 




funkheld
ici fois le Fotos.
1. PB-Compiler (32Bit) eingegeben.

2. qui Antwort venez ensuite , PB-Compiler pas là.

Schaue je rein ist cela Eingabefeld de PBasic vide.

ist cela ! richtig zum Starten des Compiliers.

Gruss

pb.jpg  
42 kB
Hochgeladen:09.05.2023
Downloadcounter36
Download
58 kB
Hochgeladen:09.05.2023
Downloadcounter37
Download
88 kB
Hochgeladen:09.05.2023
Downloadcounter42
Download
 
09.05.2023  
 




funkheld
encore un faute.

merci.
gruss

21 kB
Hochgeladen:09.05.2023
Downloadcounter38
Download
 
09.05.2023  
 




Jens-Arne
Reumschüssel
merci pour qui Screenshots! Puh, cela était un böser faute chez qui Bearbeitung de INI-Fichiers. je hoffe, qui ist maintenant behoben.
 
XProfan X4
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
10.05.2023  
 




funkheld
merci.
cet PB avec dem Cordes funktioniert.

mais cet avec einer Übergabe et Imprimer...funktioniert pas.

merci pour deine tolle travail , tolle Leistung.

peut-être könntest du cela avec Variblenübergabe et Rückgabe de Ergebnissen expliquer.
et cela avec Bereichsübergaben bzw données avec PB dans den Bereich reinschreiben qui on
ensuite avec Pofan wieder lesen peux.

qui Typen qui Variablen pour PB et Profan sommes Je ne bien sûr.

Gruss
declare ProfVar1% Shared'seulement globale Variablen! aucun Cordes, Arrays, Bereichs- et Hashvariablen!
pbPROC TestProc()
ProfVar1%=ProfVar1%+1'qui globale XProfan-Variable "ProfVar1%" ist direct dans qui pbPROC verfügbar; vous wird direct manipuliert, d.h. Changements sommes im XProfan-Programme sichtbar

ENDPROC

ProfVar1%=1
TestProc()
imprimer ProfVar1%'ergibt 2

61 kB
Hochgeladen:10.05.2023
Downloadcounter36
Download
 
10.05.2023  
 




Jens-Arne
Reumschüssel
Hmm... c'est mir presque un bisschen pénible, cela zuzugeben: là étions chez qui Umsetzung Peek et Poke vertauscht. maintenant geht's. merci pour den Report!

trop den Variablentypen schreibe je juste quoi.
 
XProfan X4
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
11.05.2023  
 




Jens-Arne
Reumschüssel
trop den Variablentypen:

qui Nutzung de Hauptprogramm-Variablen dans einer pbPROC (ou bien aussi fbPROC) allez grundsätzlich seulement sur en Adresse. Daher peut seulement solche Variablen avec Shared transfert volonté, qui une festen Speicherplatz besitzen, qui sich sur qui gesamte Programmlaufzeit pas ändert. c'est z.B. chez Integervariablen qui le cas. pas cependant z.B. chez Cordes, car qui bekommen chez chacun neuen Zuweisung de Text une entier neuen Speicherplatz, weil sich qui Longueur oui changement peux. Bereichsvariablen wiederum avons zwar une festen Speicherplatz, mais PureBasic peux pas savons, comment et womit qui gedimt wurden. cela peux z.B. aussi une Struktur son. Quelque chose comme bekommt on pas automatisch "rüber". aussi chez Arrays sais PB pas, comment cela défini ist (comment viele Dimensionen, comment grand).

Pour alles, quoi pas avec Shared funktioniert, muss on alors händisch pour sorgen, dass qui pbPROC sais, quoi wohin steht et comment puis zugegriffen volonté muss. Pour Cordes übergibt on alors qui Adresse et sorgt dans PB pour, dass un ASCII-String gelesen wird, ne...aucune Unicode-String, comme dans PB standardmäßig qui le cas ist. si on une String zurückgeben voudrais, muss on aussi hierfür une Pointer transfert et pour sorgen, dass qui Bereich, sur den il zeigt, pour cela Ergebnis grand genug ist.

pbPROC StringTest(*dans,*out)
Protected MeinString$
MeinString$=PeekS(*dans,-1,#PB_ASCII)
PokeS(*out,"Teststring",-1,#PB_ASCII) ;Rückgabe
ENDPROC

si on viele Cordes transfert voudrais, peux on en Adressen dans un einzige Stringvariable écrivons et dans qui pbPROC wieder extrahieren:

declare s1$,s2$,s3$,uebergabe$,back#

pbPROC StringTest(*uebergabe,*out)
Protected s1$,s2$,s3$,uebergabe$,s4$
uebergabe$=PeekS(*uebergabe,-1,#PB_ASCII)
s1$=PeekS(val(StringField(uebergabe$,1,"|")),-1,#PB_ASCII)
s2$=PeekS(val(StringField(uebergabe$,2,"|")),-1,#PB_ASCII)
s3$=PeekS(val(StringField(uebergabe$,3,"|")),-1,#PB_ASCII)
s4$=s1$+" "+s2$+" "+s3$
PokeS(*out,s4$,-1,#PB_ASCII)
ENDPROC

cls
s1$="String 1"
s2$="String 2"
s3$="String 3"
uebergabe$=@str$(@addr(s1$))+"|"
uebergabe$=uebergabe$+@str$(@addr(s2$))+"|"
uebergabe$=uebergabe$+@str$(@addr(s3$))
dim back#,1000 'grand genug faire
StringTest(@addr(uebergabe$),back#)
imprimer @string$(back#,0)
dispose back#
waitinput
end
 
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
11.05.2023  
 




Jens-Arne
Reumschüssel
si on seulement einmal bestimmte Dinge transfert voudrais, qui ensuite dans allen pbPROCs zur Disposition stehen, ensuite peux on cela avec globalen PB-Variablen 1faire. Alles, quoi entre PBGLOBAL et PBENDGLOBAL steht, wird dans den Haupttext qui DLL geschrieben, ist alors global. là devrait seulement Variablendeklarationen stehen, ne...aucune "richtiger" Code. je gebe globale Variablen toujours une führenden Unterstrich, avec cela on globale et lokale Variablen besser auseinanderhalten peux, mais notwendig ist cela naturellement pas:

declare _Name$,_Alter%

PBGLOBAL
Global _Name$,_Alter.i
ENDPBGLOBAL

pbPROC GetGlobalVars(*nom,alter.i)
_Name$=PeekS(*nom,-1,#PB_ASCII)
_Alter=alter
ENDPROC

pbPROC pbPROC1()
MessageBox_(0,"pbPROC1:"+chr(13)+_Name$,str(_Alter),0)
ENDPROC

pbPROC pbPROC2()
MessageBox_(0,"pbPROC2:"+chr(13)+_Name$,str(_Alter),0)
ENDPROC

cls
_Name$="Max Forgeron"
_Alter%="55"
GetGlobalVars(@addr(_Name$),_Alter%)
pbPROC1()
pbPROC2()
waitinput
end
 
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
11.05.2023  
 




funkheld
allô, merci pour deine Aider.

si du encore weitere idées la hâte qui on braucht pour PB ensuite s'il te plaît toujours her avec cela.

une Bereichsvariable avec 1000 Integer voudrais je alle avec 6 einzeln Multiplizieren dans PB et wieder zurückschreiben dans qui Bereichsvariable.

comment allez cela s'il te plaît?

comment allez cela avec Float-Variablen ?

ou bien muss une neue Bereichsvariable erstellt volonté? quoi ist là pracktischer ?

merci pour deine Aider.

Gruss
 
11.05.2023  
 




répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

72.812 Views

Untitledvor 0 min.
Jens-Arne ReumschüsselVorgestern (14:44)
Axel Berse03.06.2025
Paul Glatz23.05.2025
HofK12.02.2025
plus...

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie