Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Datei-Ladevorgang abbrechen (https://www.delphipraxis.net/198271-datei-ladevorgang-abbrechen.html)

Luckie 19. Okt 2018 12:47

AW: Datei-Ladevorgang abbrechen
 
Da gibt es nichts zu fürchten. Das ist der einzige vernünftige Weg.

http://michael-puff.de/Programmierun...nVerlass.shtml

KodeZwerg 19. Okt 2018 13:02

AW: Datei-Ladevorgang abbrechen
 
Auf das MMF bezogen könnte man mit ein paar Änderungen das File Chunkweise reinladen, auf Wunsch geladenes bereits darstellen/zur Bearbeitung zur Verfügung stellen; Indikator (% Anzeige) erhöhen etc.; Knopf "Abbruch" "Retry" etc., also per Puffer kontrolliert nachladen lassen, das ganze mit einem Übertragungsdialog versehen, oder eben einen Api Kopierbefehl einleiten der das dann überträgt, wenn es gut geht (transmit OK) klappen beide Varianten. Deine Lesemethode sollte identisch schnell gegenüber dem MMF sein, ich habe es noch nicht gebencht aber mein Bauchgefühlt sagt mir ist so ziemlich das selbe nur in grün.

Maekkelrajter 19. Okt 2018 14:49

AW: Datei-Ladevorgang abbrechen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe das jetzt erstmal mit SHFileOperation gelöst, welches ja eine Fortschrittsanzeige und einen Abbruch-Button mitliefert. Passende Code-Schnipsel hatte ich noch in meiner 'Grabbelkiste'. Da ich dieses Programm voraussichtlich nur selbst und in einer bekannten Umgebung benutzen werde, wollte ich den Aufwand in Grenzen halten. Deshalb wäre es wohl Overkill, jede denkbare Konfiguration und jede Fehlermöglichkeit berücksichtigen zu wollen. Die Performance ist auch kein Problem, da es bekanntlich bei der Interaktion mit dem GUI nicht auf Nanosekunden ankommt. Der eigentliche Kopiervorgang dauert eh genausolange wie bei der direkten Methode.

Vielen Dank an alle, die mit guten Tips geholfen haben!

KodeZwerg 19. Okt 2018 15:09

AW: Datei-Ladevorgang abbrechen
 
Wenn ich fragen dürfte, was passiert wenn der Copy Dialog auf ist und Du das Kabel rausziehst/Verbindung trennst und was passiert wenn Dein Prozess gekillt wird bevor Copy fertig ist, die zwei Dinge Interessieren mich, Danke für Antwort darauf! (auf letzteres könnte ich mir bereits was vorstellen)

Maekkelrajter 19. Okt 2018 21:08

AW: Datei-Ladevorgang abbrechen
 
Im ersten Fall passiert erstmal garnichts. Der ProgressBar bleibt stehen, und das Programm wartet auf die Beendigung des Kopiervorganges und ist solange paralysiert. Das kann dauern, wie ich ja Anfangs beschrieben habe. Erst wenn ich 'Abbrechen' klicke, wird der Vorgang beendet und evtl. schon geschriebene Teile der Datei gelöscht. Anschließend ist die Anwendung wieder bedienbar, also alles ordnungsgemäß, wie es aussieht.
Wenn der Prozess 'gekillt' wird (via Taskmanager), verschwindet das Hauptfenster samt Copy-Dialog sofort. Im Taskmanager ist das Programm noch ein paar Sekunden zu sehen, wahrscheinlich bis Windows 'aufgeräumt' hat.
Ich hoffe, die Fragen damit beantwortet zu haben.

Gruß

KodeZwerg 19. Okt 2018 21:16

AW: Datei-Ladevorgang abbrechen
 
Vielen Dank fürs Feedback und ja damit ist alles gut beantwortet! :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:18 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz