English
SDK-aide/ Tools

JRPC new Precompiler for XProfan X4 - JRPC3

 
- Page 1 -



Jens-Arne
Reumschüssel
good evening together,

i'm recent over the trouble stumbled, that XPSE a quite large Quelldatei of I do not More process could. variables get suddenly as not definiert gemeldet and others "erratische" Problems More. I could me present, that this on it lying, that XPSE Keywords in windows-Atoms manages. there's sometime Schluss (with something between 60.000 and 70.000 Piece, where one deliberating must, that XPSE The windows-API with vorhält). Perhaps is But something integrally other, I can Yes not whom "Maschinenraum" of XPSE look.

anyway stayed me, there XPSE not any more taken care of becomes, nothing other spare, as the nachzubauen. the Result is JRPC3.

----- Features:

*reasonable Message of Fehlern
*direct display the Programmablaufes in XProfEd (sofern the under erhältliche aufgebohrte XProfEd is used)
*Umsetzung the middle-aged Profan-Syntax for Operators and old Containerfunktionen
*extreme speedy native fbPROCs, sofern one FreeBasic installs has (free, see Help)
*with fbPROCs can additionally Inline-Assembler too to XProfan X4 realized go
*extreme speedy native pbPROCs, sofern one PureBasic installs has
*Echtzeitverfolgung of Variableninhalten
*simple Zeitmessungen in the Programmablauf
*Profan-Kompilerdirektiven functions finally sensible (z.B. Verschachtelung)
*eingebettete variables functions too with Arrays
*most WIN32-API-functions are already vordefiniert included
*API-Aufrufe over @external(...) go automatically in @call(...)-Aufrufe umgesetzt
*Einrückungsanalyse to that find of vertrackten Verschachtelungsfehlern
*Klammeranalyse to that find of vertrackten Klammerfehlern
*ENUMERATE-Funktionalität
*Assert to Fehlerkontrolle
*it can arbitrary DLLs into XProfan-EXE integrate go, so tappt im dunkeln not delivered go must (see {$WrapDll})
*simple Killen Pixel JRPC3 launched Programs (interprets, .prc launched, .exe launched)
*extreme quick (and therefore naturally not XProfan written, there a interpretierte Language this natural plenty too slow is)
*at Start of JRPC3 already available .prc-Files can to that started and left used go (it'll one Info displayed, that it itself for a altes Compilations deals)
*the Profan-Compiler can to Beschleunigung with high Prozessorpriorität called go
*eingebauter Update-Checker with Download, if it one Update gives (Help --> online to Updates search)
*64- or 32-bit-Version available (simply JRPC3_64.exe or JRPC_32.exe as Interpreter in XProfEd deposit [Options --> general Settings] and JRPC3 with F7 started) - deference, The 64-bit-Version created naturally no 64-bit-XProfan-programs, there XProfan the not can, separate JRPC3 self becomes as 64-bit-Program carryed out
*XProfan X4-Syntax available (möglicherweise not yet everything, I presumably not everything of it use, but I have me circa Vollständigkeit ready - anyway are z.B. HASH-Arrays and QUADINTs thereby)
*Interpreter, PRCs and EXEs can with Kommandozeilenparametern carryed out go
*Interpreter, PRCs, EXEs and XPSE can with Administratorrechten carryed out go
*Procedures, The in the actually Program of course include are, but not uses go, go from the umgesetzten File removes, around the Filesize the Kompilats possible small To hold
*variables, The in the actually Program of course include are, but not uses go, go from the umgesetzten File removes, around the Filesize the Kompilats possible small To hold and the Speicherverbrauch To optimize
*nPROCs from XPSE go automatically with XPE to a DLL umgesetzt and the Aufrufe the nPROCs in the program properly adjusted, sofern XPSE present is
*almost everything from XPSE functions too in JRPC3 ({$NOERR}, {$(PRE)BATCH}, {$PUSHKEYWORD}, Interpreter, Runtime and compiler determine, Shorties, ...)
*XProfEd_JR with View source-AutoComplete
*XProfEd_JR with View source-Memory-function (Markierungen, To them zurückgesprungen go can)

Einschränkungen:
-no XPSE-Inline-Assembler, well but XProfan-Inline-Assembler (therein though no tests on Korrektheit the Codes)
-ABER: one can XPSE from JRPC3 out Call, so these Funktionalität furthermore available is, sofern one XPSE own (new Shorty: {$x})
-variables, The in a procedure not declared are, separate "aus the aufrufenden procedure übernommen werden", are standardmäßig not registered (XProfan allows the, but such a thing is just as mortal How GOTO-instructions). Please any To nutzenden Inputs as Parameter transfer, and if something from the aufrufenden Programmteil changed go must, when calling as Parameter z.B. @addr(x&) use and the procedure parameters x# and LONG x#,0=y& benefit.
If one but absolutely "vererbte" variables benefit would like, can this with the Kompilerdirektive {$Declare...} do.

*as Hommage on XPSE sounds The Endung the Ausgabedatei ".enh3"

an genauere explanation the individual Features is the chm-Helpfile To entnehmen, The in the program under Help --> Helpfile Show or with F1 available is.

----- /Features

Download and install:
JRPC3 can under Downloaded go (setup_jrpc3.exe or as ZIP-File).
as Installationsverzeichnis Please the XProfan-Stammverzeichnis indicate, means the one, in the The Files PROFAN.EXE, PROFCOMP.EXE, PRFRUN32.EXE etc. lying. alternatively can The ZIP-File Downloaded and its Content manually in that XProfan-Stammverzeichnis copies go.

facility:
JRPC3_64.exe or JRPC_32.exe as Interpreter in XProfEd deposit [Options --> general Settings] and JRPC3 with F7 started.

any command are with the commands "h" How "Hilfe" abrufbar and should selbsterklärend his.

for many erweitere Features, The XProfEd concern, How z.B. jenes, The row, in the one Error auftrat, directly in XProfEd Show to, is the mitinstallierte XProfEd_JR necessary. For this must one means XProfEd_JR.exe instead of XProfEd.exe as editor using. as "goody" there moreover, that at On- and Zufalten of Programs one Fortschrittsanzeiger integrate is (the can with large Programs Yes known a little bit last).

it likes his, that not yet everything perfect functions. I Please this circa clemency. my  programs can umsetzen, but the must yet long not hot, that this with Programs another Authors, The eachone so your Eigenheiten having, too functions.

Fehlermeldungen and Verbesserungsvorschläge gladly on jreumsc@web.de or here in the Forum.

best Regards, Jens-Arne

2.663 kB
Bezeichnung:JRPC3
Version:10.35
Kurzbeschreibung: JRPC3-Installer
Hochgeladen:02/15/21
Downloadcounter392
Download
1.699 kB
Bezeichnung:XProfEd_JR
Version:5.2
Kurzbeschreibung: old Version without AutoComplete to safety
Hochgeladen:02/15/21
Downloadcounter242
Download
4.061 kB
Bezeichnung:JRPC3
Version:10.35
Kurzbeschreibung: ZIP-File instead of Installer
Hochgeladen:04/02/21
Downloadcounter304
Download
 
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
02/16/21  
 



 
- Page 21 -


« this Posting watts as Solution marked. »

- Page 15 -



Jens-Arne
Reumschüssel
there's a new Version, The differently with the internen Messagehandling bypassing. Please probier The time from. Perhaps is the trouble so fixed.
 
XProfan X4
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
09/24/22  
 




funkheld
Hello thanks for your work , the hears itself with Purebasic well on.

go of Purebasic too a DLL prepares How with Freebasic?

thanks for your Help.

will be it testing as itself behave.
I Games since 10 years with Purebasic.

the FreeBasic a problem has with Neueinsteigeren , give I you right.
the Freebasic know so did i well , but so right Freundschafft isn't zustande taken.

greeting
 
05/08/23  
 




funkheld
Why becomes Please jedesmal the Purebasiccompiler rausgeschmissen?

comes always The Message the the PB-Compiler not found becomes .

Thank you.
 
05/08/23  
 




funkheld
hm...
 
05/09/23  
 




Jens-Arne
Reumschüssel
Hello Funkheld,

my erstes trouble is, I evident objectively no Emails More get, if here someone something writes. in a, Why the so is. therefore can itself my Answer unfortunately something delay.

otherwise: Yes, The pbPROCs produce ditto a DLL, very as fbPROCs. Why with you the Compiler not found becomes, erschließt itself me in the momentum not. You must into Options of JRPC3 whom 32-bit-Compiler of Purebasic indicate. then ought to the too found go. it is pbcompiler.exe. For this must one next to the 64-bit-Version naturally too The 32-bit-Version of Purebasic installs having. If the everything so far aale is and still Problems come along, bräuchte I Please once a Screenshot.

best Regards, Jens-Arne
 
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
05/09/23  
 




funkheld
here times the photos.
1. PB-Compiler (32bit) association.

2. The response comes then , PB-Compiler not there.

Look I mere is the Input of PBasic empty.

is the ! correctly. to that started the Compiliers.

greeting

pb.jpg  
42 kB
Hochgeladen:05/09/23
Downloadcounter35
Download
58 kB
Hochgeladen:05/09/23
Downloadcounter36
Download
88 kB
Hochgeladen:05/09/23
Downloadcounter39
Download
 
05/09/23  
 




funkheld
another Error.

Thank you.
greeting

21 kB
Hochgeladen:05/09/23
Downloadcounter36
Download
 
05/09/23  
 




Jens-Arne
Reumschüssel
thanks for Screenshots! Puh, the was one böser Error the edit of INI-Files. I hope, the is now fixed.
 
XProfan X4
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
05/10/23  
 




funkheld
Thank you.
These PB with the Strings functions.

but this with of/ one Übergabe and Print...not working.

thanks for your crazy work , crazy performance.

Perhaps could you with the Variblenübergabe and Return of Ergebnissen explain.
and with the Bereichsübergaben or data with PB into area reinschreiben everybody can
then with Pofan again reading can.

The Types the variables for PB and Profan are I do not clear.

greeting
declare ProfVar1% Shared'only globale variables! No Strings, Arrays, Bereichs- and Hashvariablen!
pbPROC TestProc()
ProfVar1%=ProfVar1%+1'The globale XProfan-Variable "ProfVar1%" is directly in the pbPROC verfügbar; she'll directly manipulating, d.h. Changes are in the XProfan-Program visible

ENDPROC

ProfVar1%=1
TestProc()
print ProfVar1%'yields 2

61 kB
Hochgeladen:05/10/23
Downloadcounter34
Download
 
05/10/23  
 




Jens-Arne
Reumschüssel
Hmm... its me almost a little bit embarrassing, the zuzugeben: there were with the Umsetzung Peek and Poke vertauscht. now geht's. thanks for Report!

to the Variablentypen write I same what.
 
XProfan X4
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
05/11/23  
 




Jens-Arne
Reumschüssel
to the Variablentypen:

The Use of Hauptprogramm-variables in a pbPROC (or fbPROC) goes fundamentally only over its address. therefore can only such variables with Shared transfer go, The a solid Speicherplatz own, the itself over The entire Programmlaufzeit not changes. this is z.B. with Integervariablen the case. not however z.B. with Strings, because The get with eachone new Zuweisung of Text a integrally new Speicherplatz, because the length Yes Change can. Memory-Variables against having of course a solid Speicherplatz, but PureBasic can't know, How and with which The gedimt get. the can z.B. too a structure his. Something like get one not automatically "rüber". too with Arrays white PB not, How the definiert is (How many Dimensionen, How big).

for everything, what not Shared functions, must one means händisch for care, that The pbPROC white, what where standing and How hereon zugegriffen go must. for Strings commit one means The address and sorgt in PB for, that one ASCII-String red becomes, no Unicode-String, as in PB standardmäßig the case is. If one a String give back would like, must one too this a Pointer transfer and for care, that the area, on the it shows, for the Result big enough is.

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

If one many Strings transfer would like, can its Adressen in a only Stringvariable write and the pbPROC again extract:

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$=@st$(@addr(s1$))+"|"
uebergabe$=uebergabe$+@st$(@addr(s2$))+"|"
uebergabe$=uebergabe$+@st$(@addr(s3$))
dim back#,1000 'big enough make
StringTest(@addr(uebergabe$),back#)
print @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
05/11/23  
 




Jens-Arne
Reumschüssel
If one only once defined items transfer would like, The then in all pbPROCs available stand, then can with the global PB-variables do. everything, what between PBGLOBAL and PBENDGLOBAL standing, becomes into Haupttext the DLL written, is means global. there should only Variablendeklarationen stand, no "richtiger" code. I give globale variables always a führenden Unterstrich, so one globale and local variables rather auseinanderhalten can, but necessary is the naturally not:

declare _Name$,_Alter%

PBGLOBAL
Global _Name$,_Alter.i
ENDPBGLOBAL

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

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

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

cls
_Name$="Max Mustermann"
_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
05/11/23  
 




funkheld
Hello, thanks for your Help.

If you yet further ideas have everybody can need for PB then Please always since so.

an Memory-Variable with 1000 Integer would like I any with 6 particular Multiplizieren in PB and again write back into Memory-Variable.

How are the Please?

How are with the Float-variables ?

or must new Memory-Variable prepares go? What is there pracktischer ?

thanks for your Help.

greeting
 
05/11/23  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

no Systemprofil laid out. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Please register circa a Posting To verfassen.
 

Topic-Options

71.880 Views

Untitledvor 0 min.
Axel Berse vor 14 Tagen
Jens-Arne Reumschüssel vor 18 Tagen
Paul Glatz vor 25 Tagen
HofK02/12/25
More...

Themeninformationen



Admins  |  AGB  |  Applications  |  Authors  |  Chat  |  Privacy Policy  |  Download  |  Entrance  |  Help  |  Merchantportal  |  Imprint  |  Mart  |  Interfaces  |  SDK  |  Services  |  Games  |  Search  |  Support

One proposition all XProfan, The there's!


My XProfan
Private Messages
Own Storage Forum
Topics-Remember-List
Own Posts
Own Topics
Clipboard
Log off
 Deutsch English Français Español Italia
Translations

Privacy Policy


we use Cookies only as Session-Cookies because of the technical necessity and with us there no Cookies of Drittanbietern.

If you here on our Website click or navigate, stimmst You ours registration of Information in our Cookies on XProfan.Net To.

further Information To our Cookies and moreover, How You The control above keep, find You in ours nachfolgenden Datenschutzerklärung.


all rightDatenschutzerklärung
i want none Cookie