AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Rausfinden ob ein Kopier oder Löschvorgang läuft..
Thema durchsuchen
Ansicht
Themen-Optionen

Rausfinden ob ein Kopier oder Löschvorgang läuft..

Ein Thema von MasterT · begonnen am 13. Aug 2004 · letzter Beitrag vom 22. Aug 2004
Antwort Antwort
MasterT
(Gast)

n/a Beiträge
 
#1

Rausfinden ob ein Kopier oder Löschvorgang läuft..

  Alt 13. Aug 2004, 13:03
Hallo, folgendes...

Ich hab das hier auch schon im Delphi-Forum geostet.
Originallink: http://www.delphi-forum.de/topic_29101.html

Ich kopiere aus einem Ordner etwas heraus. Dieser Vorgang, kann je nach Größe etwas dauern. Ich bekomme ein Event sobald der Vorgang gestartet ist. Jetzt muss ich solange warten, bis der Vorgang abgeschlossen ist. Kann mir da jemand helfen? Gibts ne Message die da geschickt wird oder so? Oder hat jemand eine andere Lösung? Bin für jede Hilfe dankbar...
Nur ums sicher zu stellen. Das kopieren wird nicht von mir gestartet. Sondern übers Kontextmenü kopieren/einfügen vom Explorer.

Gruß

MasterT
  Mit Zitat antworten Zitat
Blutiger Anfänger
(Gast)

n/a Beiträge
 
#2

Re: Rausfinden ob ein Kopier oder Löschvorgang läuft..

  Alt 22. Aug 2004, 00:42
Wie kopierst du denn? Es gibt Funktionen die Callbacks unterstützen. IMO auch Shell-Funktionen. Müßte ich aber erst nachschlagen.
  Mit Zitat antworten Zitat
MasterT
(Gast)

n/a Beiträge
 
#3

Re: Rausfinden ob ein Kopier oder Löschvorgang läuft..

  Alt 22. Aug 2004, 11:37
ICh kopiere einfach per CopyFile.
Ich hab aber glaube ich eine Lösung gefunden, ich schaue nach ob ein Fenster mit der Caption Kopieren... offen ist, und warte solange. Aber wenn du eine Bessere Lösung hast, immer her damit. Aber es geht nicht um meinen Kopiervorgang, sondern um einen evtl. noch laufenden, der vom USer ausgelöst wurde.

Gruß

MasterT
  Mit Zitat antworten Zitat
Blutiger Anfänger
(Gast)

n/a Beiträge
 
#4

Re: Rausfinden ob ein Kopier oder Löschvorgang läuft..

  Alt 22. Aug 2004, 12:08
Zitat von MasterT:
ICh kopiere einfach per CopyFile.
Ich hab aber glaube ich eine Lösung gefunden, ich schaue nach ob ein Fenster mit der Caption Kopieren... offen ist, und warte solange. Aber wenn du eine Bessere Lösung hast, immer her damit. Aber es geht nicht um meinen Kopiervorgang, sondern um einen evtl. noch laufenden, der vom USer ausgelöst wurde.
Dann ist aber "gucken ob Fenster" eine Frickellösung. Was der User macht, kann dir doch egal sein, oder wozu brauchst du das?
  Mit Zitat antworten Zitat
MasterT
(Gast)

n/a Beiträge
 
#5

Re: Rausfinden ob ein Kopier oder Löschvorgang läuft..

  Alt 22. Aug 2004, 12:18
Ja klar is das ne frickellösung ^^. Ne, das kann mir in dem Fall leider nicht egal sein. Ich führe Aktionen in diesem Ordner durch. Diese kann und darf ich aber nicht durchführen, wenn der User gerda Dateien in oder aus dem ORdner raus kopiert oder löschet. Genau dann muss ich halt warten bis der Vorgang abgeschlossen ist, da es sonst zu problemen kommen kann.

Gruß

MasterT
  Mit Zitat antworten Zitat
Blutiger Anfänger
(Gast)

n/a Beiträge
 
#6

Re: Rausfinden ob ein Kopier oder Löschvorgang läuft..

  Alt 22. Aug 2004, 12:54
Ja bloß es gibt hunderte Möglichkeiten Dateien zu kopieren. Hier seien nur mal genannt:
- Read/Write-Paare mit Callbacks ...
- Explizites CopyFile
- CopyFileEx() - in dem du übrigens eine Callback-Routine hast
- Native API
- IOCTLs ...
...

Wieso sollte der Benutzer nun gerade mit dem Explorer arbeiten? Ich zB arbeite nur dann mit dem Explorer wenn nix anderes (zB PTS Commander, freeComander, Turbo Navigator ......) zur Hand ist. Die haben aber eigene Funktionen dafür.
  Mit Zitat antworten Zitat
MasterT
(Gast)

n/a Beiträge
 
#7

Re: Rausfinden ob ein Kopier oder Löschvorgang läuft..

  Alt 22. Aug 2004, 13:14
Ja, das ist richtig. Man kann nicht ALLE ausnahmen abfangen. Das ist nunmal leider nicht möglich, aber da wo man es abfangen kann, sollte man dies tun Man kann halt leider keine Software entwickeln die mit allen andern Programmen kompatibel ist. Aber das wichtigste, zumindest bei uns ist, das es mit einer Cleanen Windowsversion erstmal einwandfrei läuft. Wir können nicht immer in allen Programmen alle Möglichkeiten durchgehen, was wäre wenn der User nicht Explorer, sondern was anderes Benutzt. Aber natürlich sollte man auch da wenn es machbar ist drauf achten.
Also mir geht erstmal nur darum, das der User im Explorer -> Kontextmenü "kopieren" - "einfügen" drückt, und dieser Vorgang unter umständen eine weile dauern kann...

Gruß

MasterT
  Mit Zitat antworten Zitat
Ratte

Registriert seit: 12. Dez 2003
Ort: Erfurt
345 Beiträge
 
Delphi 2005 Personal
 
#8

Re: Rausfinden ob ein Kopier oder Löschvorgang läuft..

  Alt 22. Aug 2004, 13:52
Hi,

geht das vielleict mit ShellChangeNotifier? passiert ja was mit den Dateien.

Ratte
Schiffsratte der U.S.S. Delphipraxis, Laderaum 4538
BUSH:= TTerminator.create;
  Mit Zitat antworten Zitat
MasterT
(Gast)

n/a Beiträge
 
#9

Re: Rausfinden ob ein Kopier oder Löschvorgang läuft..

  Alt 22. Aug 2004, 13:54
Genau damit gehts net Das Event kommt sofort am Anfang vom Kopiervorgang, ich brauch aber das ende ^^
  Mit Zitat antworten Zitat
Blutiger Anfänger
(Gast)

n/a Beiträge
 
#10

Re: Rausfinden ob ein Kopier oder Löschvorgang läuft..

  Alt 22. Aug 2004, 15:59
Tja, dann bleibt sicher wirklich nichts außer einer Frickellösung - es sei denn du wärst bereit 2 Etagen tiefer zu steigen -> Kernel
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:19 Uhr.
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