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.664 kB
Bezeichnung:JRPC3
Version:10.33
Kurzbeschreibung: JRPC3-Installer
Hochgeladen:02/15/21
Downloadcounter378
Download
1.699 kB
Bezeichnung:XProfEd_JR
Version:5.2
Kurzbeschreibung: old Version without AutoComplete to safety
Hochgeladen:02/15/21
Downloadcounter238
Download
4.063 kB
Bezeichnung:JRPC3
Version:10.33
Kurzbeschreibung: ZIP-File instead of Installer
Hochgeladen:04/02/21
Downloadcounter301
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 23 -


« 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
How becomes the Please in Pb umgesetzt?

nProc getCircP(long r,w)
return long(sin(0.0174532925199433*float(w)/1000.0)*float(r))
endproc

Thank you.
greeting
 
05/14/23  
 




Jens-Arne
Reumschüssel
i think, so:

declare r!,w!

pbProc getCircP(*r,*w)
protected r.d,w.d
r=PeekD(*r)
w=PeekD(*w)
procedurereturn sin(0.0174532925199433*w/1000.0)*r
endproc

cls
r!=2
w!=3
print getCircP(@addr(r!),@addr(w!))
waitinput
end

but is it really meaningfully, a Integerwert zurückzugeben? ought to not rather too one Float his? so about:

declare r!,w!,result!

pbProc getCircP(*r,*w,*result)
protected r.d,w.d
r=PeekD(*r)
w=PeekD(*w)
PokeD(*result,sin(0.0174532925199433*w/1000.0)*r)
endproc

cls
r!=2
w!=3
getCircP(@addr(r!),@addr(w!),@addr(result!))
print result!
waitinput
end

or yet plainer with Shared-variables:

declare r!,w!,result! shared

pbProc getCircP()
result!=sin(0.0174532925199433*w!/1000.0)*r!
endproc

cls
r!=2
w!=3
getCircP()
print result!
waitinput
end
 
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
05/14/23  
 




funkheld
thanks for your speedy Help.

will be it once more testing.

Thank you.
 
05/14/23  
 




Walter
Freue me over JRPC3, have now but a problem with a aray.
JRPC3_64.exe runs free from problems through, the nachfolgend launched Interpreter fractures however ex with "Das element there not!".

If I the program same in the Profan-Interpreter starte, runs it free from problems through.
' aray-Test / Shuffle
' mix The Entries the Listboxliste
cls
randomize
' Listboxliste with Strings fill
clearlist
addstring(0,"BlaBla1")
addstring(0,"BlaBla2")
addstring(0,"BlaBla3")
addstring(0,"BlaBla4")
addstring(0,"BlaBla5")
listbox$("Start",1)
shuffle()
listbox$("Ergebnis",1)
end
'---------------------

proc shuffle

    '---------------------
    ' mix The Entries the Listboxliste
    declare anz%
    anz%=getcount(0)
    Declare i%,nr%,L$[anz%]
    clear L$[]
    i%=0

    While i% < anz%' by the Listboxliste

        nr%=rnd(anz%)' a casually Space in the aray dial

        while L$[nr%]<>""' already occupied? then whom next disengaged Space search

            inc nr%
            case nr%=anz%: nr%=0' if end: of in front lane new try

        wend

        L$[nr%]=getstring$(0,i%)
        Inc i%

    wend

    clearlist
    move("ArrToList",L$[])

endproc' shuffle


Why the?
 
05/15/23  
 




Jens-Arne
Reumschüssel
the having something so To do, that You one aray over a variable dimensioniert have (Declare ...,L$[anz%]). In this case must short Variablennamen and always global defined variables in JRPC3 off go, what now automatically happens. now ought to your Program means walk.
 
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
05/15/23  
 




Walter
super! thanks!
 
05/15/23  
 




Jens-Arne
Reumschüssel
Version 9.08a:

Map-data produce:
Error, The during the Umsetzung one Codes with JRPC3 fixes go, go known directly of JRPC3 on the right place in the Source displayed (if the mitglieferte XProfEd_JR used becomes).
If though to Laufzeit one Program one Error appears (z.B. a Überschreitung the Dimensionierungsbereichs one Arrays), gives XProfan only a knappe Laufzeit-Error Message from, The but often at least a Zeilennummer contains. These Zeilennummer relating itself however unfortunately on the kumulierten code, whom XProfan abarbeitet, so it almost unmöglich is, The spent Zeilennummer of/ one Zeilennummer in the View source and moreover too yet the right Quelltextdatei (z.B. of/ one INC-File) zuzuordnen.
Hierbei help Map-data. If these option activate is, writes JRPC3 with, where each single row the Endcodes in the .enh3-File stammt, so The kumulierten Zeilennummern again their origin zugeordnet go can.
If one XProfan-Laufzeitfehler with of/ one therein gemeldeten Zeilennummer appears, can now over the Menu "Datei" --> "Laufzeitfehlerzeile finden" The of XProfan spent Zeilennummer enter and sustain in XProfEd_JR The Line the right Quelldatei displayed, in the the Error auftrat.
the functions though only, if before into Options of JRPC3 The Map-data-Erzeugung activate watts. this can also yet to appear the Laufzeitfehlers happen, sofern the Programmcode not complement or gekürzt watts, what naturally The ermittelte Zeilennummer bearing would.
If the Map-data straight not any more used go, ought to these option again deaktiviert go, because tappt im dunkeln whom View source circa extreme many comments extended and so whom Interpreter of XProfan slower power.
 
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
05/16/23  
 




Jens-Arne
Reumschüssel
here one ausführliches example for Use of fbPROCs for the speedy pretending of discretionary many vordefinierten Wörtern in Edit-Controls.
The Vorgaben stand each in a GridBOX, where for different Edit-Controls different GridBoxen uses go can. it go fbPROCs uses, lest only diejenigen, The PureBasic own, the try can.

integrally at the beginning in FBGLOBAL with #include must the each zutreffende way indicated go. because it'll The Library commctrl.bi used, around the API-Konstanten for ListViews using to.

declare _hE%,_hE2%,_hGB%,_hGB2%,_ende%,_s$,_ws#

'{ 'fbPROCs
FBGLOBAL
#include "D:\programs\FreeBasic\inc\win\commctrl.bi" 'here must the right way indicated go
dim shared as integer _MaxNum=0,_MinLaenge=1
redim shared as integer _NumhGB(0 to 1)
redim shared as string _OldAktEntry(0 to 1)
dim shared as string _KeywordEnders
_KeywordEnders=" .,:-+*/\!;"
ENDFBGLOBAL

fbPROC AmendEditText(byval hE as integer,byval hGB as integer,byval CaseSensitive as integer) as integer export
dim as byte pointer pAktEntry
dim as string AktEntry,default,s2,AktSubStr,LeftPart,RightPart
dim as integer i,CurPos,erg,num
dim as zstring pointer zs,zs2
'{ 'number the GB detect
num=0
for i=1 to _MaxNum
if _NumhGB(i)=hGB
num=i
exit for
endif
next i
if num=0
_MaxNum=_MaxNum+1
num=_MaxNum
redim preserve _NumhGB(0 to num)
redim preserve _OldAktEntry(0 to num)
_NumhGB(num)=hGB
_OldAktEntry(num)=""
endif
'}
'{ 'actually entry detect
pAktEntry=allocate(10001)
sendmessage(cast(lever,hE),WM_GETTEXT,10000,cast(integer,pAktEntry))
AktEntry=Peek(zstring,pAktEntry)
deallocate(pAktEntry)
'}
if AktEntry<>_OldAktEntry(num)
if len(AktEntry)>len(_OldAktEntry(num))
CurPos=loword(sendmessage(cast(lever,hE),EM_GETSEL,0,0))
'{ 'actually Substring detect
AktSubStr=""
for i=CurPos to 0 step -1
if i>0
if instr(_KeywordEnders,mid(AktEntry,i,1))<>0
LeftPart=left(AktEntry,i)
exit for
else
AktSubStr=mid(AktEntry,i,1)+AktSubStr
endif
else
LeftPart=""
endif
next i
for i=Curpos+1 to len(AktEntry)
if instr(_KeywordEnders,mid(AktEntry,i,1))<>0
RightPart=right(AktEntry,len(AktEntry)-(i-1))
exit for
else
AktSubStr=AktSubStr+mid(AktEntry,i,1)
endif
next i
'}
if len(AktSubStr)>=_MinLaenge
i=LVFindText(hGB,AktSubStr,-1)
if i>=0
Vorgabe=LVGetText(hGB,i)
if CaseSensitive
if left(default,len(AktSubStr))=AktSubStr
erg=1
else
erg=0
endif
else
if ucase(left(default,len(AktSubStr)))=ucase(AktSubStr)
erg=1
else
erg=0
endif
endif
if erg
if len(AktSubStr)<>len(default)
s2=LeftPart+default+RightPart
zs=Allocate(len(s2)+1)
poke zstring,zs,s2
sendmessage(cast(lever,hE),WM_SETTEXT,0,cast(integer,zs))
sendmessage(cast(lever,hE),EM_SETSEL,len(LeftPart)+len(AktSubStr),len(LeftPart)+len(default))
deallocate(zs)
endif
endif
endif
endif
endif
_OldAktEntry(num)=AktEntry
endif
return 0
ENDPROC 'AmendEditText

fbPROC SetMinLaenge(byval Laenge as integer) as integer export
_MinLaenge=Laenge
if _MinLaenge<1
_MinLaenge=1
endif
return 0
ENDPROC 'SetMinLaenge

fbPROC SetKeywordEnders(byval Text as zstring pointer) as integer export
_KeywordEnders=peek(zstring,Text)
return 0
ENDPROC 'SetKeywordEnders

'{ 'Hilfsfunktionen
fbPROC LVGetCount(byval hLV as integer) as integer
return sendmessage(cast(any pointer,hLV),LVM_GETITEMCOUNT,0,0)
ENDPROC 'LVGetCount
fbPROC LVFindText(byval hLV as integer,byval Text as string,byval StartLine as integer) as integer 'search is case insensitive
dim as LVFINDINFOA LVFI
dim as zstring pointer zs
dim as integer erg
LVFI.flags=LVFI_PARTIAL OR LVFI_STRING
zs=allocate(len(Text)+1)
poke zstring,zs,Text
LVFI.psz=zs
erg=sendmessage(cast(any pointer,hLV),LVM_FINDITEM,StartLine,cast(integer,@LVFI))
deallocate(zs)
return erg
ENDPROC 'LVFindText
fbPROC LVGetText(byval hLV as integer,byval row as integer,byval slot as integer=0) as string
dim as LVITEM LVI
dim as string ret,s
dim as zstring pointer LVItemText
'LVI=mask&,iItem&,iSubItem&,state&,stateMask&,pszText&,cchTextMax&,iImage&,lParam&,iIndent&,iGroupId&,cColumns&,puColumns&,piColFmt&,iGroup&
LVItemText=Allocate(2001)
LVI.iItem=Zeile
LVI.iSubItem=Spalte
LVI.mask=LVIF_TEXT
LVI.pszText=LVItemText
LVI.cchTextMax=2000
sendmessage(cast(any pointer,hLV),LVM_GETITEMTEXT,row,cast(integer,@LVI))
ret=peek(zstring,LVItemText)
deallocate(LVItemText)
return ret
ENDPROC 'LVGetText
'}
'}

'*** Hauptprogramm
Window Style 1+2+4+8+512
cls
_hE%:=@create("EDIT",%HWnd,"",10,10,300,20)
dim _ws#,1000
widestring _ws#,0="Automarken"
@sendmessage(_hE%,~EM_SetCueBanner,0,_ws#) 'lParam: 0=Hinweis only Show, if the Editfeld not whom Fokus has (default); 1=auch Show, if fokussiert
_hE2%:=@create("EDIT",%HWnd,"",10,40,300,20)
widestring _ws#,0="around whom telly"
@sendmessage(_hE2%,~EM_SetCueBanner,0,_ws#) 'lParam: 0=Hinweis only Show, if the Editfeld not whom Fokus has (default); 1=auch Show, if fokussiert
dispose _ws#
_hGB%:=@create("GRIDBOX",%HWnd,"1;0;0",1,0,0,0,0) 'sortiert, so Entries alphabetical sortiert pretended go
@sendmessage(_hGB%,~WM_SETREDRAW,0,0) 'speed the stuff the GridBOX explicit, moreover is tappt im dunkeln anyhow invisible
@addstring(_hGB%,"BMW"):@addstring(_hGB%,"Audi"):@addstring(_hGB%,"VW"):@addstring(_hGB%,"Skoda"):@addstring(_hGB%,"Nissan")
@addstring(_hGB%,"Honda"):@addstring(_hGB%,"Chevrolet"):@addstring(_hGB%,"Mini"):@addstring(_hGB%,"Mercedes")
@addstring(_hGB%,"Opel"):@addstring(_hGB%,"Alfa"):@addstring(_hGB%,"Romeo"):@addstring(_hGB%,"Aston"):@addstring(_hGB%,"Martin")
@addstring(_hGB%,"Bentley"):@addstring(_hGB%,"Bugatti"):@addstring(_hGB%,"Buick"):@addstring(_hGB%,"cadillac"):@addstring(_hGB%,"Chrysler")
@addstring(_hGB%,"Citroen"):@addstring(_hGB%,"Dacia"):@addstring(_hGB%,"Daihatsu"):@addstring(_hGB%,"Dodge")
_hGB2%:=@create("GRIDBOX",%HWnd,"1;0;0",1,0,0,0,0) 'sortiert, so Entries alphabetical sortiert pretended go
@sendmessage(_hGB2%,~WM_SETREDRAW,0,0) 'speed the stuff the GridBOX explicit, moreover is tappt im dunkeln anyhow invisible
@addstring(_hGB2%,"telly"):@addstring(_hGB2%,"Program"):@addstring(_hGB2%,"Programmzeitschrift"):@addstring(_hGB2%,"series")
@addstring(_hGB2%,"Transmitter"):@addstring(_hGB2%,"Fernbedienung")
usermessages $10
SetMinLaenge(1) 'minimale length the inputted Textfragments, ex the The Vorgaben added
_s$=" "
SetKeywordEnders(@addr(_s$)) 'only " " as Endzeichen for Suchstrings define (default=" .,:-+*/\!;")
@setfocus(%HWnd)
_ende%=0
whilenot _ende%
waitinput
AmendEditText(_hE%,_hGB%,0) '0=case insensitive, 1=case sensitive
AmendEditText(_hE2%,_hGB2%,0) '0=case insensitive, 1=case sensitive
if @iskey(27) or (%uMessage=$10)
_ende%=1
while @iskey(27)
sleep 25
endwhile
endif
endwhile
end
 
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
05/21/23  
 




Walter
have unfortunately again trouble:
Verwende hashes.dll, circa for a File The MD5-Prüfsumme To to charge. [...] 
examined becomes simply some Text in the File Prüfdatei.txt.
Works with the normalen Interpreter free from problems - with JRPC3 there though one No Return at Start the Interpreters through i (too, if I {$NoLocal2GlobalVarConversion} use).
' Test of hashes.dll
 {$NoLocal2GlobalVarConversion}
declare Dat$,dll2&,way$
cls
Pfad$=$ GetDir("")
dll2&=UseDLL(way$+"\\hashes.dll")
DEF testit(3) ! "hashes.dll","testit"
' Prüfdatei
Dat$=way$+"\\Prüfdatei.txt"
'
Prüfsumme(Dat$)
'
FreeDLL dll2&
end
'---------------------

proc Prüfsumme

    '---------------------
    ' to charge the Prüfsumme of/ one File through MD5.pcu
    parameters Prüfdatei$
    declare T&,T$,File$
    File$ = Prüfdatei$' here must by a local Variable a local address created go
    ' into File "MD5" becomes the MD5 reingeschrieben
    ' the standing but too in t$
    t& =  testit(addr(File$),"MD5",chr $(0))
    t$ =  string $(t&,0)
    ' MD5 the File standing too in t$
    messagebox(t$,"MD5",0)

endproc' Prüfsumme

 
05/21/23  
 




Jens-Arne
Reumschüssel
Hello Walter,

here's the "chr$(0)" at Funktionsaufruf of testit(...) the trouble. JRPC3 created standardmäßig a external-appeal. there functions The Typumwandlung of Strings in String-Adressen for chr$(...) of XProfan evident not, with the DEF-Definition but already. its on this place incidentally relatively sinnfrei, chr$(0) To using, because from it binary exakt 0 becomes. write means:

t & = testit(addr(File$),"MD5",0)

then functions it too with JRPC3.

If you the chr$(0) to maintain want, can You The Conversion of DEF-functions in external-functions too switch off: {$NoDef2ExternalConversion}

around the basic problem To understand, must one know, that The Parameter of DLLs *always* 4 Bytes wide are (in 32bit-Programs). means is too the Parameter "MD5" really completely useless. he's of course random too 4 Bytes wide (three letters and the Nullbyte end), but in the binären senses comes thereby nothing Sinnvolles out. The DLL expects namely a Pointer on a String (which 4 Bytes wide is), because one Strings self hold not LookupAccountName-Parameter use can. XProfan GetControlParas (B this Parameter but intern in something like How @addr(»String, in the "MD5" steht«) circa, therefore observes one this Programmierfehler usually not. only for @chr$(...) shining these conversion anyway with external-Call not To functions, How supra already erwähnt.

{$NoLocal2GlobalVarConversion} becomes in this example incidentally in none Variante used.

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




Walter
Thank you!
 
05/21/23  
 




Jens-Arne
Reumschüssel
I have me now whom Funktionsaufruf the DLL again accurate respected. in the readme-File standing:

?_Hash(File$ | area#,Algorithmus$[[,start&],size&])

The function "testit" won't described, she's but the only function, The The DLL export. Presumably is the last Parameter "start&", because otherwise would "0" none sense make. In this case would a Typumwandlung of chr$(0) in a String-Pointer on a String with a zero-byte mortal, because there some huge Integerwert rauskommen would (even The address on the String). an Integer-number How "0" shining therefore The only sinnvolle Variante To his. Why it with DEF nevertheless functions, is me one puzzel.

Perhaps is it very andersherum: with DEF won't in a String-Pointer transformed, with external already. however, there ought to one numerischer worth stand, no String.

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

69.805 Views

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