Italia
Bugs und vermeintliche

ErrorProc wird nicht "angesprungen"

 

E.T.
Ciao,

in folgendem Code wird bei mir der (provozierte) Fehler zwar gemeldet:
(Element gibt es nicht ! >> Zeile 30)
aber ErrorProc wird nicht angesprungen !!

Ich habe den Test-Code aus meinem Prog "extrahiert", mit den gleichen Windowstyles und Controls etc. wie im Programm verwendet.In meinem Programm wird in ErrorProc noch einiges weitere erledigt, so soll z.B. eine File mit der Fehlerbeschreibung erstellt werden.

Als ich jetzt eben beim proggen ausversehen solch ein Static ge-cleart  habe (wie im Beispiel mit Absicht), ist mir das Verhalten aufgefallen.
KompilierenMarkierenSeparieren
Declare Static_1&[], Static_2&[], Ende%

ErrorProc

    Set("Errorlevel",1)
    @messagebox("ERRORPROC WURDE AUFGERUFEN !!!","INFO",64)
    Set("Errorlevel",0)

EndProc

Set("Errorlevel",0)  bei -1 wird garnichts angezeigt und abgebrochen
Set("OnError", 1)
WindowStyle 512+16+8+2
WindowTitle "ERRORPROC - TEST"
Window 800,600
Static_1&[0] = @Control("Dialog","",$54000000,0,0,@Width(%HWnd),@Height(%HWnd),%HWnd,1,%HInstance)
@Create("Text",Static_1&[0],"STATIC 1",250,250,100,20)
Static_1&[1] = @Create("Button",Static_1&[0],"...zu Static 2 >>>",300,100,200,30)
Static_2&[0] = @Control("Dialog","",$54000000,0,0,@Width(%HWnd),@Height(%HWnd),%HWnd,1,%HInstance)
ShowWindow(Static_2&[0],0)
@Create("Text",Static_2&[0],"STATIC 2",250,250,100,20)
Static_2&[1] = @Create("Button",Static_2&[0],"<<< zurück zu Static 1...",300,100,200,30)
Clear Ende%

WhileNot Ende%

    Waitinput

    If %Key = 2

        Ende% = 1

    ElseIf @Clicked(Static_1&[1])

        ShowWindow(Static_1&[0],0)
        ShowWindow(Static_2&[0],1)

    ElseIf @Clicked(Static_2&[1])

        ShowWindow(Static_2&[0],0)
        @Create("Text",Static_1&[0],"Static 2 wurde jetzt qgekilltq !!",200,280,300,20)
        @Create("Text",Static_1&[0],"Jetzt nochmal versuchen, auf Static 2 zu schalten !!",200,310,400,20)
        ShowWindow(Static_1&[0],1)
        Clear Static_2&[]<<< HIER WIRD DER "FEHLER" ERZEUGT !!!

    EndIf

EndWhile

End

Sehe Io l' Wald mal wieder nicht, weil die Alberi davor stehen ??

Das Beispiel aus der Aiuto funktioniert ja...

EDIT:  Auch wenn ich Set("OnError"... und Set("ErrorLeve... erst setzte, nachdem das Fenster erstellt wurde (also paar Zeilen runter rücke) >> das gleiche !!
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
02.12.2008  
 




RGH
Ciao,

ErrorProc funktioniert nur dann, wenn der ErrorLevel - 1 eingestellt ist.

In Deinem Programm kommt es dann aber zu einer Schutzverletzung, da der Fehler hier so schwerwiegend ist, dass der Systemfehler noch vor dem Aufruf der ErrorProc auftritt. Ich werde mal schauen ob ich das per künftige Versionen noch optimieren kann.

Derzeit ist es so, daß nach dem Ausführen einer Befehlszeile überprüft wird, ob ein Fehler aufgetreten ist, der gemäß aktuellem ErrorLevel nicht angezeigt wurde. Ist dies die Fall, wird die ErrorProc angesprungen. In Deinem Beispiel kommt XProfan offensichtlich aber gar nicht so weit.

(Ich habe mich zwar bemüht, deartige Situationen zu vermeiden, aber in einigen wenigen Fällen tauchen sie noch auf. Offensichtlich habe ich beim Anpassen des Codes an die ErrorProc-Möglichkeiten noch nicht alle dieser Stellen ausgemerzt.)

Saluto
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
03.12.2008  
 




E.T.
Danke, Roland, per Deine schnelle Antwort.

RGH
ErrorProc funktioniert nur dann, wenn der ErrorLevel - 1 eingestellt ist.


Ich denke, das sollte auf jeden Fall expliziet in der Aiuto stehen. Ich hab eben nochmal (hoffentlich) alles in der Aiuto gelesen, was zu dem Thema gehört, aber bis auf das Beispiel zu ErrorProc kann ich keinen Hinweis darauf finden.

Da "versucht die Kuh, sich in den Schwanz zu beissen" , denn lt. Aiuto zu Errorlevel soll man ja -1 eigentlich nicht verwenden:

...aus der 11er Aiuto
...
-1 - Fast schon kriminell: Auch Fehlermeldungen werden übergangen.Das kann unter Umständen zu einem Windowsfehler oder Absturz desSystemes mit Datenverlust führen.

Und wer will schon zu den "fast Kriminellen" gehören (außer naturalmente, man ists schon, dann isses ja egal) ??  

Ich pers. werd wohl dann lieber bei Errorlevel 0 bleiben: da hab ich wenigstens noch ne Fehlermeldung, bevor sich das Prog verabschiedet.

RGH
...Ich werde mal schauen ob ich das per künftige Versionen noch optimieren kann. ...


XProfan kann ja nur besser werden. Du wirst das schon hinbiegen, wenns machbar ist.
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
03.12.2008  
 




RGH
Mario Patzlaff
Da "versucht die Kuh, sich in den Schwanz zu beissen" , denn lt. Aiuto zu Errorlevel soll man ja -1 eigentlich nicht verwenden:


Als diese Abschnitt geschrieben wurde, gab es die ErrorProc noch nicht ... und bei Einführung derselben habe ich wohl versäumt darauf hinzuweisen, dass man alternativ naturalmente ErrorProc verwenden kann, um die Fehler abzufangen.

Saluto
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
03.12.2008  
 




E.T.
Gibt's zu diesem (obigen) Thema schon was neues ??
Uner X2 immer noch das gleiche Verhalten
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
08.01.2012  
 




RGH
Im nächsten Bugfix wird auch in diesem Fall der Absturz verhindert und die ErrorProc aufgerufen.

Saluto
Roland
 
XProfan X2
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
14.01.2012  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

5.947 Views

Untitledvor 0 min.
H.Brill15.06.2023
Member 554186217.05.2022
Jörg Sellmeyer16.06.2020
Andreas Koch14.09.2015
Di più...

Themeninformationen

Dieses Thema hat 2 subscriber:

RGH (3x)
E.T. (3x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie