Forum | | | | - Page 1 - |
|  Ragnar Rehbein | Hello IF !
even if You in the momentum wichtigere care have, short 3 small fehlerchen: 1. CompileMarkSeparation bring whom XPSE to that crash. the ^ is me by mistake into quelltext get (small slip, whom I do not notice have or were it The children ??? with ihren sweet grabbelpfötchen ???).
2. CompileMarkSeparation {$batch copy "xx x.exe" "c:xx x.exe"} > isn't possible. I have partly space into Filenames or. pfadnamen. there for a Solution ?
3. CompileMarkSeparation includedateien go without pfadangabe not found, if the programmdatei in another directory befindet as XPSE. m:ehbeinxprofan - XPSE and compiler m:ehbeinxprofaninclude - z.b. debugprint.inc m:ehbeinxprofanprojekteest - z.b. xxx.prf
I use XPSE since some time To almost 100%. next to whom Compileroptionen The The work relieve and speed, is the .enh-File the genialste. To eachone programmversion The in the employment is heave I me The suitable .enh-File on. fehlermeldungen which on a zeilennummer relating, can so genial simply find.
cool that it XPSE gives 
r.r. |
| | | | |
| | | | - Page 2 - |
| |  CB | ExceptionEAccessViolation in the Module profane.exe with ... Meintet your the or is the another Error? (have now any ^ in the actually code rausgenommen)
Greeting, Christian |
| | | | |
| |  | [quote:7bc750c6e8=Christian Bernfeld]ExceptionEAccessViolation in the Module profane.exe with ... Meintet your the or is the another Error? (have now any ^ in the actually code rausgenommen)
Greeting, Christian[/quote:7bc750c6e8]in the Module Profan.exe? the had then nothing with the XPSE More To do. from the code whom You me PMt have have I simply any ^ herausgenommen - and xpse has not any more beschwert. whom bow I will but naturally Remove.
what runs there now with you wrong?
With the whom Assemblerblöcken is what other - with Franks XPIA in the Context with the XPSE can reines Assembler in the Profansource utilize - I faith but you have no ASM-Passagen drin.
salvo, iF |
| | | | |
| |  Frank Abbing | Hi,
it sees well so from, as would XPSE whom code time and again search. hears none More so on, created but none Error. |
| | | | |
| |  | I see - I had what other notice - can You me your Codepiece give?
salvo, iF |
| | | | |
| |  Frank Abbing | here's it: CompileMarkSeparationIn diesem Democode befinden sich zwei Assemblerblöcke.
Eine versteckt sich in einer Profan-Prozedure und lädt eine Datei via API. Das ginge auch mittels Profan,
aber das hier ist ja ein Democode.
Der andere Assemblerblock zählt nach, wie oft die einzelnen Buchstaben (A-Z, bzw. a-z) in einer
Textdatei vorkommen.
{$cleq}
Declare x&,y&,z&,text$,text#,tabelle#,bytes&
Prozedure mit Assemblerblock.
ReadFile dateiname$, Speicher wohin die Datei geladen werden soll, Offset im Speicher, Grösse der Datei
Proc ReadFile
Parameters a1$,a2&,a3&,a4&
ASM Block
AsmStart ReadFileFast
Parameters addr(a1$),a2&,a3&,a4&
Return a3&
jmp @F ;Datenblock überspringen. @F/@@: ist eine Sondervariable genau für diesen Zweck. Kann in
;einem Block auch mehrmals verwendet werden.
readed dd 0
handle dd 0
@@:
invoke CreateFile,para1,GENERIC_READ,0,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0
mov handle,eax
.if eax>0
mov eax,para2
add eax,para3
invoke ReadFile,handle,eax,para4,addr readed,0
invoke CloseHandle,handle
mov eax,readed
.endif
AsmEnd
ASM Block Ende
Return a3&
EndProc
Window 0,0-%maxx,%maxy
CLS
text$=@LoadFile$("Lade eine Textdatei","*.TXT")
x&=@FileSize(text$)
If x&>0
Print text$
Print Str$(x&)+" Bytes geladen."
Print
Print "Anzahl Buchstaben, die im Text gefunden wurden:"
Dim text#,x&+1
ReadFile text$,text#,0,x&
x&=@&(0)
bytes&=x&
If x&
Dim tabelle#,108 26 x 4 + 4
Clear tabelle#
ASM Block
AsmStart Count
Parameters text#,tabelle#,x&
invoke CharUpperBuff,para1,para3
mov ecx,para3
mov ebx,para1
mov edx,para2
.repeat
mov eax,0
mov al,[ebx]
inc ebx ;ebx um 1 erhöhen
.if (al>=65) && (al<=90)
sub eax,65
shl eax,2 ;logisches Verschieben der Bits nach links. Bewirkt: eax * 4. Schneller als "mul"
add eax,edx
mov edi,1
add [eax],edi
.endif
dec ecx
.until ecx==0
AsmEnd
ASM Block Ende
Decimals 2
y&=0
Whileloop 26
x&=Long(tabelle#,y&*4)
Print Chr$(y&+97)+" oder "+Chr$(y&+65)+" = "+Str$(x&)+" x."
y&=y&+1
EndWhile
Dispose tabelle#
EndIf
Dispose text#
EndIf
WaitInput
End
this code produced a Anwendungsfehler: CompileMarkSeparation {$cleq}
Declare Text$,Password$,nurso$
text$="Zunächst once: for Assembler needed one no grosse amount of command, with 10 command "
text$=text $+"(altogether there over 90) is one that's all right bedient, everything else is unnütz, because the "
text$=text $+"MASM32 Assembler High-Level-Syntax (.while / .endw / .if / .endif etc.) supported."
text$=text $+"Und of it is one Profan-User already the meiste famous."
passwort$="Ganz geheimes Password."
CLS
Print "Originaltext:"
Print
Color 7,15
Print Text$
Color 0,15
Print
Print
ASM-block
Crypt(), a XOR-Verschlüsselung through Password
Übernommen from of my ProSpeed.dll
Parameter:
1) Memory-Variable or String, in the The data stored are.
2) amount To verschlüsselnder Bytes
3) Pointer on a String (or area), in the the Password stored is
4) length the Passworts
at that second appeal with whom equal Parameters becomes the origin again manufactured.
AsmStart Crypt
Parameters addr(text $),Len(text $),addr(Password$),Len(Password$)
mov ecx,para2
mov edx,para1
mov ebx,para3
mov esi,para4
mov edi,0
schleife:
mov al,[edx]
xor al,[ebx+edi]
mov [edx],al
inc edx
inc edi
cmp esi,edi
jne plunge
mov edi,0
plunge:
sub ecx,1
jne schleife
AsmEnd
Print "Verschlüsselter Text:"
Print
Color 7,15
Print Text$
Color 0,15
Print
Print
now comes a Besonderheit...
we call our first ASM-block one second time on !!! without Prozedure !
xpia$ is the name ours kompletten Assemblerlibrary.
Crypt is here the name the Assemblerblocks, thereafter follow etventuelle Parameters.
thereby is it even alike, whether the second appeal to the Assemblerblock results or already before it !
who the now not understood has, the ought to whom ASM-block Crypt rather in a Profan-Prozedure
pack, and instead rather The Prozedure . Call but so goes it too.
External(xpia$,"Crypt",addr(text $),Len(text $),addr(Password$),Len(Password$))
Print "Und the again manufactured Text:"
Print
Color 7,15
Print Text$
WaitInput
End
this here produced: commands uncharted: While CompileMarkSeparation Anwendungsfehler: CompileMarkSeparation {$cleq}
Declare sum&,area#,Text$
Cls
If 0
AsmStart Checksumme
Parameters addr(text $),Len(text $)
mov ebx,para1
mov esi,para2
xor ecx,ecx
xor edx,edx
xor eax,eax
.if esi>=0
schleife:
mov al,[ebx]
add edx,eax
add edx,ecx
rol edx,8
inc ecx
inc ebx
cmp ecx,esi
jne schleife
.endif
mov eax,edx
AsmEnd
EndIf
text$="Probestring. one could too a area indicate."
Print External(xpia$,"Checksumme",addr(text $),Len(text $))
text$="Probestring. one could too a area angeben"
Print External(xpia$,"Checksumme",addr(text $),Len(text $))
text$=" Probestring. one could too a area indicate."
Print External(xpia$,"Checksumme",addr(text $),Len(text $))
text$="Probestring. Mbn could too a area indicate."
Print External(xpia$,"Checksumme",addr(text $),Len(text $))
text$="Probestring. one could too a Bdreich indicate."
Print External(xpia$,"Checksumme",addr(text $),Len(text $))
Print
Dim area#,1000000
Clear area#
Print External(xpia$,"Checksumme",area#,1000000)
byte area#,100=1
Print External(xpia$,"Checksumme",area#,1000000)
Dispose area#
WaitInput
End
etc...  |
| | | | |
| |  Frank Abbing | Nochmal I,
sorry, having with of/ one not any more actually Version tested. The meißten Codes walk now. at least one code created but as always a Error: CompileMarkSeparation {$cleq}
Declare dh&,text$,x&,y&,z&
{$replace 1:"_Schleifen_enh"}
Def Schleife(1) !^1^,"Schleife"
dh&=usedll(xpia$)
CLS
Print xpia$
ASM-Block
If 0
AsmStart Schleife
Parameters x&
mov ecx,para1 ;Unser Parameter, also 100 Millionen
schleife:
dec ecx ;ecx=ecx-1
jnz schleife ;verzweige, wenn das zuletzt benutze Register (also ECX) nicht 0 ist
mov eax,ebx
AsmEnd
Endif
Warten, bis alle Laufwerke aus sind.
Noch aktive Laufwerke verfälschen den Geschwindigkeitstest.
Print
Print "3 Sekunden warten, bis alle Laufwerksaktivitäten versiegt sind."
Print
Sleep 3000
Assemblerschleife, 100 Millionen mal durchlaufen:
Wir benutzen unser generierte Dll im geladenen Zustand, weil allein
Profans Aufruf von "External" 16 Millisekunden für jede Ausführung benötigt...
x&=100000000
Print "Assemblerschleife wird jetzt "+Str$(x&)+" mal durchlaufen."
y&=&GetTickCount
Schleife(x&)
y&=&GetTickCount-y&
Print "Fertig in "+Str$(y&)+" Millisekunden."
Print
Profanschleife, 100 Millionen mal durchlaufen:
x&=100000000
Print "Profanschleife wird jetzt "+Str$(x&)+" mal durchlaufen."
y&=&GetTickCount
Whileloop x&
EndWhile
y&=&GetTickCount-y&
Print "Fertig in "+Str$(y&)+" Millisekunden."
WaitInput
freedll dh&
../../Function-References/XProfan/end/'>End
|
| | | | |
| |  | I habs grade tested - runs correct.
I had but faith forget To allude the Remarks via ; in ASM-Blöcken not any more allows are. these The preparation to ;-Zeilentrennung.
Perhaps muddu The *DLL time Remove - means by me working it super now.
salvo, iF |
| | | | |
| |  CB | [quote:ec61eef52b=iF][quote:ec61eef52b=Christian Bernfeld]ExceptionEAccessViolation in the Module profane.exe with ... Meintet your the or is the another Error? (have now any ^ in the actually code rausgenommen)
Greeting, Christian[/quote:ec61eef52b]in the Module Profan.exe? the had then nothing with the XPSE More To do. from the code whom You me PMt have have I simply any ^ herausgenommen - and xpse has not any more beschwert. whom bow I will but naturally Remove.
what runs there now with you wrong?
With the whom Assemblerblöcken is what other - with Franks XPIA in the Context with the XPSE can reines Assembler in the Profansource utilize - I faith but you have no ASM-Passagen drin.
salvo, iF[/quote:ec61eef52b] Nö, with ASM Have I (yet) nothing on the hat.  the komische is only, The .enh becomes prepares, the Prog launch normal, I give a Pat.-ID one - Peng. If I the same over the Ver. 8 Interpreter make, runs normal. now have so did i Ver. 9 (The latest) probiert - there fly so did i with of/ one Schutzverletzung out! sees almost so from, as should I you one yet größeres pkg truss... or have You another idea?
Greeting, Christian |
| | | | |
| |  | no größeres Pack. simply only whom Source + enh. so should it weg.
But if The P9 already rausschmeist - ists well no xpse-trouble. i'd it me however nevertheless gladly look at.
salvo, iF |
| | | | |
| |  CB | OK, can I you in the evening of home from send.
something klüger be I in the meantime: have in habit a couple REM stehengelassen, korr. but now bleats the XProfan-Compiler 9: Stringende missing with CompileMarkSeparation Any idea?
Greeting, Christian |
| | | | |
| |  | Yes - known DefBug of P9.
in the actually but not yet redacted Release should this fixed his.
salvo, iF |
| | | | |
| |  CB | have The row time testhalber auskommentiert, then running the Compilierungsprozeß through, with XPSE fly I but still from my Prog out (Interpretermodus)
I schick you still time whom code + Enh, You findst there sure faster whom (The)Error, though too the Profan2cpp nothing reports!  make me time on the Heimweg.
Greeting, Christian |
| | | | |
|
AnswerTopic-Options | 24.734 Views |
Themeninformationenthis Topic has 8 subscriber: |
|