Registriert seit: 8. Feb 2012
Ort: Essen
305 Beiträge
Delphi 10.4 Sydney
|
AW: Einen Button Click Event von anderem Formular aufrufen?
15. Mär 2012, 17:32
Ich hab den Fehler gefunden und weiß nicht was mich da am meisten veralbert: Delphi, Windows, meine Festplatte oder ich selbst.
Ich erkläre mal ein wenig mehr:
Der Button auf Form1 um den es geht, ändert Dateien. Er öffnet sie, schreibt was um, schließt und speichert. Funktioniert alles wie es soll.
Dann kam Form2 dazu. Dort wird nach mehreren Kriterien ein Verzeichnis gewählt, in das eben genannte Dateien kopiert werden sollen, vor dem bearbeiten DIESER Dateien.
Das kopieren funktioniert, das übergeben vom neuen Bearbeitungspfad auch. An der stelle dachte ich mir, ich mache das mit form1.button1.click; und fertig. Denn wenn ich per Hand auf diesen Button klicke, passiert genau das was passieren soll. Per Aufruf aber eben nicht.
Nun weiß ich auch wieso:
Das kopieren ist zu langsam.
Wenn der Aufruf von Button1 getätigt wird, sind die Dateien die geöffnet werden sollen noch nicht 100% fertig kopiert. Keine Fehlermeldung bekam ich weil ich die Dateioperationen schon mit if FileExists "abgesichert" hatte. Das erklärt auch warum es mit Händischem Klicken funktionierte. Es dauert schlicht einige Millisek. länger, bis ich geklickt habe.
Wenn ich if FileExists weg lasse, bekomme ich die Fehlermeldung "File not found". Wenn ich einen Delay von min. 250 millisek. einbaue, funktioniert alles. Sind es weniger als die 250millisek. dann nicht.
Für mich kein Problem das so zu lösen... aber ist das dann nicht arg abhängig von der Geschwindigkeit der Platte?
|