SDK-aide/ Tools | | | | - 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.584 kB | | Bezeichnung: | JRPC3 | | Version: | 10.29 | | Kurzbeschreibung: | JRPC3-Installer | | Hochgeladen: | 02/15/21 | | Downloadcounter: | | | | Download | | | | 1.699 kB | | Bezeichnung: | XProfEd_JR | | Version: | 5.2 | | Kurzbeschreibung: | old Version without AutoComplete to safety | | Hochgeladen: | 02/15/21 | | Downloadcounter: | | | | Download | | | | 3.777 kB | | Bezeichnung: | JRPC3 | | Version: | 10.29 | | Kurzbeschreibung: | ZIP-File instead of Installer | | Hochgeladen: | 04/02/21 | | Downloadcounter: | | | | 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 19 - |
| | « 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 X4XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM PM: jreumsc@web.de | 09/24/22 ▲ |
| | |
| | Jens-Arne Reumschüssel | Ah, thanks, I had to "VarFinder" sought, not to "Var-Finder". |
| | | XProfan X4XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM PM: jreumsc@web.de | 10/25/22 ▲ |
| |
| | RudiB. | Hello Jens-Arne,
i'm again one merkwürdiger Error in JRPC3 noticed...
...the ought to really no Error Message cause... The View source is the XProfed.prf of Roland...
Greeting Rudi |
| | | Xprofan X4 Rudolf Beske / München
Hardware: NB Intel I9 - 16GByte RAM | 10/30/22 ▲ |
| |
| | Jens-Arne Reumschüssel | Well, the Fehlertext is still selbsterklärend. in the Using XProfan standing, that "date$" in future not any more supported becomes. means ought to to the neither More use. with {$UseOldProf} can the but nevertheless do, if one because absolutely would like. its of course meanwhile hochbedauerlicherweise unwahrscheinlich become, that it künftig once more a Version of XProfan give becomes, in the The Support for old functions objectively rausfliegt, but we should The Codes nevertheless for arrange, if still one wonder happens.
best Regards, Jens-Arne |
| | | XProfan X4XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM PM: jreumsc@web.de | 10/30/22 ▲ |
| |
| | funkheld | have now your latest Version runtergeladen Jens-Arne. its cool How You it moreover verbesserst the JRPC3.
i am pleased the now even in munich this Freebasic with installed becomes.
thanks and greeting |
| | | | |
| | Jens-Arne Reumschüssel | Version 8.25:
next to ungezählten Bugfixes into vorangegangenen versions have I in last Time intensiver so engage, How one Sound- and Grafikdateien hardcoden and from memory Play/Show can.
For this, there were bislang already The DATA-functions of JRPC3. though becomes The Datenübergabe with long-Lines very intense, if one more Files hardcoden would like. then launch the XProfan-Program already very slow, because it u.u. zehntausende Lines reading must, and the Datenübergabe to Laufzeit is ditto extreme slow. One solches Program To kompilieren, lasts ditto plenty too long.
therefore there now The DATA-functions (BEGINDATA and DATAFILE) too as FreeBasic-versions. fbBEGINDATA and fbDATAFILE produce fbProcs, The The Datenübergabe so quick make, that one tappt im dunkeln not any more notice, and the Program Start becomes therefore naturally neither More charged, because the data Yes in a external DLL lying. Einmalig lasts The Compilation still long, but thereafter can with {$DontCompileFbProcs} The renewed Compilation prevent and the once begot DLL weiterverwenden.
If your interest on XProfan-functions have, The from it benefit wander, namely Grafikdateien (BMP, PNG, JPG, TIF, ...) directly from memory To loading and Sounds directly au the memory abzuspielen, can I here moreover yet something post. These Files You can then with the supra beschriebenen functions seinem Program hardgecoded add, without Extra-Files on with add To must.
best Regards, Jens-Arne |
| | | XProfan X4XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM PM: jreumsc@web.de | 11/28/22 ▲ |
| |
| | funkheld | Hello Jens-Arne. thanks for your tender.
i'm very interested on your Datenangebot what You supra made have.
but You need it now not extra for me make. i wish the it More Interessenten gives The your new direction with Profran too with make.
Thank you. |
| | | | |
| | Jens-Arne Reumschüssel | no trouble, go geht's:
relatively simple PROC, The only BMPs from Rohdaten in memory produce can:
declare _hLogo%
PROC Init
declare b#
'{ 'Image-Handles from hardgecodeten Rohdaten Generate
DataFile b#,"Test.bmp"'must naturally existieren
_hLogo%=CatchBmp(b#)
dispose b#
'}
ENDPROC'Init
PROC CatchBmp'power a raw eingelesenen BMP-area one anzeigbares Bitmap with a lever
Parameters MemPointer&'a Memory-Variable, into the BMP binary read watts
Declare hDC&,BITMAPFILEHEADER#,BMPInfo&,init&,hImage&
hDC&=@External("user32.dll","GetDC",@External("user32.dll","GetDesktopWindow"))
'Dim BITMAPFILEHEADER#,14 'I faith, this is superfluously (see under with Dispose BITMAPFILEHEADER#)
BITMAPFILEHEADER#=MemPointer&
BMPInfo&=MemPointer&+14
init&=MemPointer&+Long(BITMAPFILEHEADER#,10)
hImage&=External("gdi32.dll","CreateDIBitmap",hDC&,BMPInfo&,4,init&,BMPInfo&,0)
@External("user32.dll","ReleaseDC",@External("user32.dll","GetDesktopWindow"),hDC&)
'Dispose BITMAPFILEHEADER# 'I faith, this is superfluously and even harmful (it would MemPointer& released and not The original allokierten 14 Bytes)
Return hImage&
ENDPROC'CatchBmp
cls
init
DrawPic _hLogo%,10,10;0
waitinput
deleteobject _hLogo%
end
this is original of Sebastian king/Ts-Soft/Frank Abbing. I have the offensichtliche Speicherleck in CatchBmp through Comment fixed. |
| | | XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM PM: jreumsc@web.de | 11/29/22 ▲ |
| |
| | Jens-Arne Reumschüssel | well then for all possible Grafikformate (BMP, ICO, GIF, JPG, EXIF, PNG, TIF, WMF, EMF). This is by me.
STRUCT S_GDIPlusStartupInput=GdiplusVersion&,DebugEventCallback&,SuppressBackgroundThread&,SuppressExternalCodecs&
declare _hPic%,_b#,_b2#,_GDIPlusToken&,_hGDIPlusDll&,_hIcon%,_hShlwapiDll&,_iStream&
PROC InitGDIPlus
declare gdpsi#,GDIPlusToken&
_hShlwapiDll&=@usedll("Shlwapi.dll")
_iStream&=0
_hGDIPlusDll&=@usedll("GDIPLUS.DLL")
dim gdpsi#,S_GDIPlusStartupInput
gdpsi#.GdiplusVersion&=1
gdpsi#.DebugEventCallback&=0
gdpsi#.SuppressBackgroundThread&=0
gdpsi#.SuppressExternalCodecs&=0
~GdiplusStartup(@addr(GDIPlusToken&),gdpsi#,0)
dispose gdpsi#
return GDIPlusToken&
ENDPROC'InitGDIPlus
PROC DeInitGDIPlus
parameters GDIPlusToken&
~GdiplusShutdown(GDIPlusToken&)
freedll _hGDIPlusDll&
if _iStream&
@external("Shlwapi.dll","IStream_Reset",_iStream&)
endif
freedll _hShlwapiDll&
ENDPROC'DeInitGDIPlus
PROC GDIPLoadImageFromFile'is the Vollständigkeit halber dabei; we want Yes but from memory reading
Parameters Image$
Declare result&,FileW#,Bitmap&
result&=0
dim FileW#,@len(Image$)+2
widestring FileW#,0=Image$
~GdipCreateBitmapFromFile(FileW#,ADDR(Bitmap&))
dispose FileW#
if Bitmap&
result&=Bitmap&
Endif
return result&
ENDPROC'GDIPLoadImageFromFile
PROC GDIPlusLoadImageFromMemory'Icons must ditto as normal Graphics (BMP, JPG etc.) transfer go, not as ICO-Files!
Parameters Image#,ReturnAsAicon%'ReturnAsAicon% can also omitted, then becomes one normales Grafikhandle zurückgegeben
Declare result&,Bitmap&,hBitmap&,pc%,err%
pc%=%pcount
if pc%=1
ReturnAsAicon%=0
endif
result&=0
if _iStream&=0
_iStream&=@external("Shlwapi.dll","SHCreateMemStream",Image#,@sizeof(Image#))
else
@external("Shlwapi.dll","IStream_Reset",_iStream&)
@external("Shlwapi.dll","IStream_Write",_iStream&,Image#,@sizeof(Image#))
endif
err%=~GdipCreateBitmapFromStream(_iStream&,@addr(Bitmap&))
if err%<>0
@messagebox("GdipCreateBitmapFromStream-Error: "+@st$(err%),"",0)
endif
if ReturnAsAicon%=0
err%=~GdipCreateHBITMAPFromBitmap(Bitmap&,@addr(hBitMap&),0)
if err%<>0
@messagebox("GdipCreateHBITMAPFromBitmap-Error: "+@st$(err%),"",0)
endif
else
err%=~GdipCreateHICONFromBitmap(Bitmap&,@addr(hBitMap&))
if err%<>0
@messagebox("GdipCreateHBITMAPFromBitmap-Error: "+@st$(err%),"",0)
endif
endif
@external("GDIPLUS.DLL","GdipDisposeImage",Bitmap&)
if hBitmap&
result&=hBitmap&
Endif
return result&
ENDPROC
cls
'~CoInitialize(0) 'evident not necessary
_GDIPlusToken&=@InitGDIPlus()
datafile _b#,"test.jpg"
_hPic%=@GDIPlusLoadImageFromMemory(_b#)
drawpic _hPic%,0,0;0
~deleteobject(_hPic%)
_hIcon%=@GDIPlusLoadImageFromMemory(_b#,1)
drawicon _hIcon%,0,0
~deleteobject(_hIcon%)
dispose _b#
waitinput
DeInitGDIPlus(_GDIPlusToken&)
'~CoUninitialize() 'evident not necessary
end
|
| | | XProfan X4XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM PM: jreumsc@web.de | 11/29/22 ▲ |
| |
| | Jens-Arne Reumschüssel | well then for Sounds (is of me to one paragon of Frank Abbing):
declare _memsound#
PROC PlayMemSound
parameters memsound#,synchronous%'synchronous% can also omitted, then becomes 0 as Default taken (means asynchron abgespielt)
declare p%
p%:=%pcount
if p%=1
synchronous%:=0
endif
if synchronous%=0
@external("Winmm.dll","PlaySoundA",memsound#,0,~SND_MEMORY | ~SND_ASYNC)'see https://learn.microsoft.com/en-us/previous-versions/dd743680(v=vs.85)
else
@external("Winmm.dll","PlaySoundA",memsound#,0,~SND_MEMORY | ~SND_SYNC)
endif
ENDPROC'PlayMemSound
PROC StopSound
@external("Winmm.dll","PlaySoundA",0,0,~SND_ASYNC)'stop playing
ENDPROC'StopSound
cls
datafile _memsound#,"sound.wav"'must naturally existieren
playmemsound _memsound#
print "fertig."
waitinput
dispose _memsound#
end
|
| | | XProfan X4XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM PM: jreumsc@web.de | 11/29/22 ▲ |
| |
| | funkheld | Hello thanks. this is super. an crazy thing. Thank you.
now I will first so rumtüfteln and play. The code is wonderful to that learn. |
| | | | |
| | Jens-Arne Reumschüssel | new version (8.33) present: - {$Declare ...} power »geerbte« variables with JRPC3 famous, if one this dangerous »Feature« of XProfan because absolutely benefit would like - {$Dim ...} power Structures of Memory-Variables, The as Parameter in a PROC gelangen, without there gedimt To go, with AutoComplete of XProfEd_JR famous
Please in both Make The Help JRPC3 consult.
best Regards, Jens-Arne |
| | | XProfan X4XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM PM: jreumsc@web.de | 02/26/23 ▲ |
| |
| | funkheld | thanks for your new version. 8.34 |
| | | | |
|
AnswerTopic-Options | 63.214 Views |
Themeninformationenthis Topic has 8 subscriber: |