Einzelnen Beitrag anzeigen

idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#7

AW: Rätselhafte Exception unter Windows 8

  Alt 18. Jun 2015, 14:24
Und was ist dabei rätselhaft?
1. Wie himitsu schon geschrieben hat, müsste JEDE Exception dazu führen, dass der Except-Block ausgeführt wird
2. werden die Befehle im Try-Block alle ordnungsgemäss abgearbeitet, sonst würden die Eigenschaften Left und Top nicht gesetzt und die Form würde wegen der Zuweisungen ganz am Anfang (left:=0; top:=0) am oberen linken Rand geöffnet. Das ist nicht der Fall, die Position der Form stimmt, wenn sie angezeigt wird. Die Zuweisung an left ist die erste, die Zuweisung an top die letzte Anweisung des Try-Blocks.
Aber wenn eine Exception auftritt, dürften doch die Befehle nach der Exception nicht mehr ausgeführt werden.
3. funktioniert der gleiche Code auf meinem Win7 PC ohne irgendwelche Macken. Und ich erkenne im Code auch nichts, was irgenwie im Entferntesten ungewöhnich sein könnte

Mittlerweile fehlt mir jede Idee, wo ich weitersuchen könnte. Wenn der Fehler bei mir auftreten würde, könnte ich versuchen (mit wenig Hoffnung auf Erfolg), im Assembler-Fenster des Debuggers zu verfolgen, was passiert. Aber auf dem Kundenrechner ist ja nicht einmal ein Delphi installiert.

@Hathor
Wenn kein INi-File gelesen würde, dann hatte die Form beim Öffnen left=0 und top=0. Nachdem das nicht der Fall ist, wird das Ini-File gelesen.

Ich habe das Ganze weiter zerlegt, die Fehler passieren beim Zuweisen auf die Eigenschaften heigth und width:

Delphi-Quellcode:
try left:=inifile.ReadInteger('Position','Links',left);
    Showmessage ('Links gelesen');
    w:=inifile.ReadInteger('Position','Breite',width);
    Showmessage ('w gelesen');
    width:=w;
    Showmessage ('width zugewiesen');
    h:= inifile.ReadInteger('Position','Höhe',height);
    Showmessage ('h gelesen');
    height:=h;
    Showmessage ('height zugewiesen');
    top:=inifile.ReadInteger('Position','Oben',top);
    Showmessage ('oben gelesen');
Die Exception-meldungen werden angezeigt bei den Zuweisungen width:=w und heigth:=h. Was ich schon nicht verstehe.
Aber völlig unbegreiflich ist mir, dass er nach jeder solchen gemeldeten Exception normal weitermacht, ja sogar die Zuweisungen selbst richtig durchführt (Die Formulargrössen stimmen, die Höhe und Breite wird trotz der Exception-meldung richtig gesetzt.
  Mit Zitat antworten Zitat