Ich habe eine Art Pseudo Lade Fortschrittsanzeige.
Sie soll wirklich nur dem Benutzer zeigen, das überhaupt irgendetwas passiert.
Code:
form6.show;
{$IFDEF DemoVersion}
philfe:=format('%s %s DemoVersion',[piece(progname,'^',1),parameter]);
{$ELSE}
philfe:=format('%s %s',[piece(progname,'^',1),parameter]);
{$ENDIF}
form6.update;
for i:=1 to 2000 do if i mod 2 = 0 then form6.progressbar1.position:=i;
winexec(pchar(philfe),sw_normal);
form6.close;
Seit Windows XP passiert es aber, dass die Form ab und zu nicht auf das close reagiert.
Auch das klicken auf den Close Button oder ALT+F4 erzielt nicht den gewünschten Effekt.
Starte ich den Code oben noch einmal an, also noch einmal ein Programm anstarten, dann schließt die Form korrekt.
Ohne das winexec geht natürlich die Form auf und direkt wieder zu. Mit dem winexec bleibt die Form so lange auf, bis das Programm gestartet ist.
Unter allen anderen Systemen 95 bis 2000 funktioniert es. Nur XP hat das Problem.