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.