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 24 -


« 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  
 




Walter
OK!
have 0 reingeschrieben - and it's running!
These DLL have I on the Erzeuger-Homepage www.paehl.de/ neither More found.
there tappt im dunkeln but well functions, set I tappt im dunkeln furthermore one.
Thank you!
 
05/23/23  
 




Jens-Arne
Reumschüssel
Probier time this small Program from:

{$NoExternal2CallConversion}
{$NoDef2ExternalConversion}
{$SetFbDllName Test_fbprocs}

DEF fbTestProc2(1) !"Test_fbprocs.dll","FBTESTPROC@4"

fbPROC fbTestProc(byval i as integer) as integer export
return i
ENDPROC

cls
print "Direktaufruf: "+@st$(fbTestProc(chr$(0)))
print "via External: "+@st$(@external("Test_fbprocs.dll","FBTESTPROC@4",chr$(0)))
print "via Call: "+@st$(@call(@GetFbProcAddr("fbTestProc"),chr$(0)))
print "via DEF: "+@st$(@fbTestProc2(chr$(0)))
waitinput
end

on it becomes clear, that any Funktionsaufruf-modes always correctly to internal Typumwandlung The address one Strings transfer, the chr$(0) contains, only DEF not. DEF commit unkorrekt 0.
 
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
05/23/23  
 




Walter
mean you the fully!

try goes but not, there itself the thing in the Präcompiler on never see again dismisses.

need I moreover The Test_fbprocs.dll?

 
05/25/23  
 




Jens-Arne
Reumschüssel
means this is strange. I can the free from problems started, too with "<Tilde><Tilde>temp<Tilde><Tilde>.prf" as Dateiname. therefore again The admittedly something hilflose question: have You The neuste Version of JRPC3 using? otherwise know I do not, Why the lying could. and the File Test_fbprocs.dll becomes Yes straight first by the Program created, The must You means not before having.
 
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
05/27/23  
 




Walter
Sooooo ... geschafft.
trouble was probably, I The Source not stored having (?).
anyway is it to the Save now run - what about me see the Result!

now must I yet with freebasic keep busy, circa too Own DLLs produce to!

still same The next question : Why becomes at call-appeal one other i zurückgegeben as at Direktaufruf and at external?
ought to still the worth same Adresse his?

 
05/27/23  
 




Jens-Arne
Reumschüssel
No, this is the ploy thereby: with eachone Übergabe of chr$(0) becomes of XProfan intern one new String created and which address transfer. directly to returns the DLL-function becomes the String with safety immediate again released. therefore has eachone appeal another, casually String-address.

this is even with XProfan-Strings self the case. each time, if you one String a new Content zuweist (even if it derselbe is How before), standing the String thereafter at a integrally others Speicheradresse. Intern becomes Yes always very so plenty memory angefordert, How for length the Strings necessary is. and there these length variable is, becomes the with eachone Zuweisung new undertaken. therefore is the works with übergebenen Strings in fb-/pbPROCs so tricky, because the Speicheradresse of Strings variable is, in the Contrast to Speicheradresse of z.B. Integer-variables.

example:
declare s$
cls
s$="123"
print @addr(s$)
s$="123"
print @addr(s$)
waitinput
end
 
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
05/28/23  
 




Jens-Arne
Reumschüssel
Version 9.17a available:

{$WrapDlls} introduced. so go The of fb-/pbPROCs begot DLLs directly in The XProfan-Exe-File integrate, so tappt im dunkeln not any more included go must. See Help-File To Kompilerdirektiven --> {$WrapDlls}.

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




Walter
OK, thanks for Statement!
 
05/28/23  
 




funkheld
goes the Please too for Purebasic?

Thank you.
greeting
 
05/30/23  
 




Jens-Arne
Reumschüssel
Hello funkheld,

Yes. one can even FreeBasic and PureBasic next to each other using, if one would like. then go with {$WrapDlls} both DLLs into Profan-Program installed.
 
XProfan X4
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
05/31/23  
 




Jens-Arne
Reumschüssel
V9.26:
pbPROCs with spare wählbaren Rückgabetypen installed

Deklarationsbeispiel: pbPROC ProcName.s() for a String as Return Value

The Typangabe comes means to the Prozedurnamen, not to "pbPROC", as in reinem PureBasic normally would [Procedure.s ProcName()].

ACHTUNG: From Integer abweichende Rückgabetypen can not pbPROCs uses go, The of XProfan-Program called go, there Rückgabewerte of DLL-Procedures ans Hauptprogramm always 4 Bytes wide his must. Very well but in "Hilfs-pbPROCs", The only of others pbPROCs called go.

Accurate said can with extern verwendeten functions no Rückgabetypen using go, The not four Bytes occupy. Single (.f in PureBasic) would means thoroughly weg. but the are delicacies.

with fbPROCs was everything no large trouble, there in FreeBasic The Rückgabetypdefinition with As ... to the Parameterklammer comes. for pbPROCs had but a Special spelling for since.

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




Jens-Arne
Reumschüssel
V9.31a:
it can now arbitrary DLLs directly in The XProfan-EXE integrate go. For this, is {$WrapDll <DLL-Name>} To use. The DLL-File must then not any more included go.

these though only relatively small DLLs meaningfully, because otherwise The Ladezeit the XProfan-Program To big go would. If one but z.B. prfdat32.dll integrate would like, then is these function perfect for suitable.

{$WrapDll ...} works How ImportDll(). The functions the DLL can means directly in the code uses go. One appeal over @external() remaining but ditto possible. Both becomes of JRPC3 in speedy @call()-Aufrufe verwandelt.

Greeting, Jens-Arne
 
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
06/14/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.883 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