Deutsch
Bugs und vermeintliche

ErrorProc wird nicht "angesprungen"

 

E.T.
Hallo,

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 Datei 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 ich den Wald mal wieder nicht, weil die Bäume davor stehen ??

Das Beispiel aus der Hilfe 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
Hallo,

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 für 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.)

Gruß
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, für Deine schnelle Antwort.

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


Ich denke, das sollte auf jeden Fall expliziet in der Hilfe stehen. Ich hab eben nochmal (hoffentlich) alles in der Hilfe 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. Hilfe zu Errorlevel soll man ja -1 eigentlich nicht verwenden:

...aus der 11er Hilfe
...
-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 natürlich, 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 für 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. Hilfe 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 natürlich ErrorProc verwenden kann, um die Fehler abzufangen.

Gruß
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.

Gruß
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  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

5.973 Betrachtungen

Unbenanntvor 0 min.
H.Brill15.06.2023
Member 554186217.05.2022
Jörg Sellmeyer16.06.2020
Andreas Koch14.09.2015
Mehr...

Themeninformationen

Dieses Thema hat 2 Teilnehmer:

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


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


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