English
Forum

Bugreport / small Fehlerchen

 
- Page 1 -



Ragnar
Rehbein
Hello IF !

even if You in the momentum wichtigere care have, short 3 small fehlerchen:
1.
CompileMarkSeparation
print "Hallo" ^
waitinpute>

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
 $I debugprint.inc
>

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.
 
01/19/05  
 



 
- 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
 
XProfan 8/9.1, Win XP, AMD 64/3200
02/11/05  
 



[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
 
02/11/05  
 




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.
 
02/11/05  
 



I see - I had what other notice - can You me your Codepiece give?

salvo, iF
 
02/11/05  
 




Frank
Abbing
here's it:
CompileMarkSeparation
In 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
 {$cleq}
Declare x&,y&,z&
Cls
x&=37

AsmStart Funktionsname1

    Parameters x&
    Return z&
    mov eax,0
    mov ebx,para1  ;or [ebp+8]
    mov ecx,999999

    .while ecx!=0

        add eax,ebx
        dec ecx

    .endw

    ;These Assemblerroutine power the same How:
    ;
    ;x&=0
    ;Whileloop 999999
    ;  x&=x&+37
    ;EndWhile
    ;
    ;an Loop, The a millions time a worth add
    ;duration: XProfan = 18 sec / XPIA = 1 Millisekunde

AsmEnd

Print "Addiere 999999 time 37 = "+Str $(z&)
WaitInput
End

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...
 
02/11/05  
 




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
 
02/11/05  
 



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
 
02/11/05  
 




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
 
XProfan 8/9.1, Win XP, AMD 64/3200
02/11/05  
 



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
 
02/11/05  
 




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
 
XProfan 8/9.1, Win XP, AMD 64/3200
02/11/05  
 



Yes - known DefBug of P9.

in the actually but not yet redacted Release should this fixed his.

salvo, iF
 
02/11/05  
 




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
 
XProfan 8/9.1, Win XP, AMD 64/3200
02/11/05  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

no Systemprofil laid out. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Please register circa a Posting To verfassen.
 

Topic-Options

24.734 Views

Untitledvor 0 min.
Uwe Starke06/06/23
Michael Borowiak11/15/14
Roland Schäffer01/06/11

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