Supportnet / Forum / Anwendungen(Java,C++...)
Schließt mein Programm nicht?
Frage
hallo,
ich hab in Visual Basic 6 ein kleines Programm gemacht, dass die Daten von meinem Memory Stick automatisch auf den Computer sichert. Das Programm befindet sich direkt auf dem Memory stick und nutzt die Windows kopier Funktion.
Das Problem ist nun, dass ich meinen Memorystick nicht mehr abmelden kann wenn ich zuvor das Backupprogramm laufen lies. Das Programm müsste meiner Ansicht nach ja dann geschlossen sein, aber es kommt beim abmelden immer folgende Fehlermeldung: "Das Gertät "Standardvolume" kann zur Zeit nicht beendet werden. "
woran könnte das liegen? ist da noch irgendwas aktiv?
Antwort 1 von jippi-duppi
also erstmal teste, ob das problem auch besteht, wenn das VB progrämmchen nicht vom usbstick sondern von festplatte gestartet wurde.
wenn ja, dann sind noch die filehandle vom programm geöffent, windows macht die erst zu wenn es lust hat
du musst die mit fileclose oder wie auch immer schließen.
wenn ja, dann sind noch die filehandle vom programm geöffent, windows macht die erst zu wenn es lust hat
du musst die mit fileclose oder wie auch immer schließen.
Antwort 2 von credo
von festplatte kann ich das Prog leider nicht starten, da es die dateien *.* (also alles auf dem USB Stick - wo das Prog ja liegt) kopiert....
Wenn ich das Prog nicht starte, kann ich dem USB Stick Problemlos abmelden.
Was ist die Filehandle? bzw. was muss ich eingeben, dass diese sich mit Fileclose wieder schließt?
Wenn ich das Prog nicht starte, kann ich dem USB Stick Problemlos abmelden.
Was ist die Filehandle? bzw. was muss ich eingeben, dass diese sich mit Fileclose wieder schließt?
Antwort 3 von credo
kann mir da denn keiner sagen was ich ändern muss, damit sich der USB Stick wieder abmelden lässt?
Antwort 4 von egomane
also ich nich... hehe
Antwort 5 von disco
moin
schau doch mal im taskmanager nach, ob der prozess noch offen ist.
ausserdem kannste ja, auch wenn du mit *.* kopierst, die datei trotzdem von der festplatte ausführen, indem du einfach in deinem programm der absoluten pfad deines usb sticks angibts.
g,
disco
schau doch mal im taskmanager nach, ob der prozess noch offen ist.
ausserdem kannste ja, auch wenn du mit *.* kopierst, die datei trotzdem von der festplatte ausführen, indem du einfach in deinem programm der absoluten pfad deines usb sticks angibts.
g,
disco
Antwort 6 von credo
ok... gute idee.. ich test das mal.. danke... meld mich danach wieder.
Antwort 7 von credo
also. ich hab nun das Programm von der Festplatte aus gestartet, und das hat wunderbar geklappt. Hatte danach kein Problem mehr mit der Abmeldung...
Prozess ist nach dem Schließen des Programmes keiner mehr offen, hab ich nun auch mal nachgeschaut.
In dem Fall ist das wahrscheinlichste, dass das irgendwie mit dem Fileclose zusammenhängt. Kann mir da jemand sagen, wie das gehen soll, dass das kopieren gleich ausgeführt wird und das Programm dann komplett geschlossen wird?
Wär euch sehr dankbar ...
Gruß credo
Prozess ist nach dem Schließen des Programmes keiner mehr offen, hab ich nun auch mal nachgeschaut.
In dem Fall ist das wahrscheinlichste, dass das irgendwie mit dem Fileclose zusammenhängt. Kann mir da jemand sagen, wie das gehen soll, dass das kopieren gleich ausgeführt wird und das Programm dann komplett geschlossen wird?
Wär euch sehr dankbar ...
Gruß credo
Antwort 8 von Gast 602
Mal eine ganz verwegene Frage:
Dein Proggi wollte sich doch nicht etwa selber auch auf die Festplatte kopieren und konnte deshalb den Kopiervorgang nicht abschließen?
Dein Proggi wollte sich doch nicht etwa selber auch auf die Festplatte kopieren und konnte deshalb den Kopiervorgang nicht abschließen?
Antwort 9 von credo
ja, doch... das Programm kopiert auch sich selbst... Der Kopiervorgang wird schon Ordnungsmäßig abgeschlossen, da hab ich mich vielleicht etwas blöd ausgedrückt. Der USB Stick lässt sich eben nicht mehr abmelden, nachdem das Programm ausgeführt wurde.
jippi-duppi hatte dann den Vorschlag, das Programm mit Fileclose zu schließen, ich weiß nur nicht, wie das gehen soll... *verzweifel*
jippi-duppi hatte dann den Vorschlag, das Programm mit Fileclose zu schließen, ich weiß nur nicht, wie das gehen soll... *verzweifel*
Antwort 10 von credo
gibt es denn ne andere Möglichkeit Dateien eines Verzeichnisses (*.*) in einen Ordner auf einem anderen Laufwerk (C:Sicherung) zu kopieren?
Ich verzweifel noch an dem S*****paß.... (okok.. is ja mein erster Versuch, aber es wär schon nicht schlecht, wenn das mal klappen würde...*grmbl*)
Ich verzweifel noch an dem S*****paß.... (okok.. is ja mein erster Versuch, aber es wär schon nicht schlecht, wenn das mal klappen würde...*grmbl*)
Antwort 11 von disco
moin
schreib dir einfach ne *.bat datei mit nem xcopy-befehl.
einfach mal hier im sn nach xcopy suchen. gab schon ne menge topics dazu.
g,
disco
schreib dir einfach ne *.bat datei mit nem xcopy-befehl.
einfach mal hier im sn nach xcopy suchen. gab schon ne menge topics dazu.
g,
disco
Antwort 12 von credo
hi disco,
das hab ich auch schon gemacht, und das funzt auch ganz gut, allerdings eben nicht auf allen Windows systemen, irgendwie lässt sich die Bat auf manchen Rechnern nicht starten. Is halt hauptsächlich eine Interessens sache. Mich würd einfach interessieren wie das im VB funzt.....
das hab ich auch schon gemacht, und das funzt auch ganz gut, allerdings eben nicht auf allen Windows systemen, irgendwie lässt sich die Bat auf manchen Rechnern nicht starten. Is halt hauptsächlich eine Interessens sache. Mich würd einfach interessieren wie das im VB funzt.....
Antwort 13 von Gummikuh
Zitat:
Mal eine ganz verwegene Frage:
Dein Proggi wollte sich doch nicht etwa selber auch auf die Festplatte kopieren und konnte deshalb den Kopiervorgang nicht abschließen?
Mal eine ganz verwegene Frage:
Dein Proggi wollte sich doch nicht etwa selber auch auf die Festplatte kopieren und konnte deshalb den Kopiervorgang nicht abschließen?
Zitat:
ja, doch... das Programm kopiert auch sich selbst... Der Kopiervorgang wird schon Ordnungsmäßig abgeschlossen
ja, doch... das Programm kopiert auch sich selbst... Der Kopiervorgang wird schon Ordnungsmäßig abgeschlossen
Also mit VB kenn ich mich leider nicht aus (bin ein alter Mann, der noch Pacal 5.5 gelernt hat ;-)
Aber ich vermute das es so ist wie o.g., auch wnn Du sagst das der kopiervorgang ordentlich abgeschlossen wurde.
Du startest dein Prog, somit ist eine Date geöffnet, alles wird kopiert, aber eine geöffnete Datei lässt sich nicht (so ohne weiteres) kopieren.
Versuch es doch mal anders:
kopiere eine Datei auf den Stick, und modifiziere Dein Prog so, das es NUR DIESE DATEI kopiert, schau mal was dann geht.
Gruss
Micha
Antwort 14 von credo
ok, werd es mal ausprobieren.. geb dann bescheid, obs klappt...
Antwort 15 von credo
ja... hab das nun ausprobiert. Wenn das Programm sich nicht mitkopiert funktioniert das ganze.
Wie kann ich denn sagen, dass es alles (*.*) ausser sich selbst kopieren soll?
bis jetzt ist das so:
FileOperation Kopieren, "*.*", "C:\+USBbackup_" & Date, False, True
Gruß credo
Wie kann ich denn sagen, dass es alles (*.*) ausser sich selbst kopieren soll?
bis jetzt ist das so:
FileOperation Kopieren, "*.*", "C:\+USBbackup_" & Date, False, True
Gruß credo
Antwort 16 von credo
weiß jemand ne möglichkeit, wie ich die Datei vom kopierprozess ausschließen kann?
Antwort 17 von Gummikuh
Hallo,
ich kenne mich nicht mit VB aus, aber wahrscheinlich wird es kein Prob. sein auszulesen welche Dateien auf dem Stick sind. Diese Dateinamen könntest du in eine entsprechende Variabele (oder Variable?) speichern.
Dann mit dem kopieren beginnen und bei jedem kopieren ZUERST abfragen ob Dateiname=DeinDateiname.exe ist, wenn nein--> kopieren, else--> nächster Eintrag.
Gruss
Micha
ich kenne mich nicht mit VB aus, aber wahrscheinlich wird es kein Prob. sein auszulesen welche Dateien auf dem Stick sind. Diese Dateinamen könntest du in eine entsprechende Variabele (oder Variable?) speichern.
Dann mit dem kopieren beginnen und bei jedem kopieren ZUERST abfragen ob Dateiname=DeinDateiname.exe ist, wenn nein--> kopieren, else--> nächster Eintrag.
Gruss
Micha
Antwort 18 von credo
aha. klingt gut.
weiß jemand nen Code, bei dem das so funktioniert?
also: alle Dateien des Laufwerks kopieren, außer die Programmdatei "programm.exe".
weiß jemand nen Code, bei dem das so funktioniert?
also: alle Dateien des Laufwerks kopieren, außer die Programmdatei "programm.exe".
Antwort 19 von credo
hallo alle zusammen,
es klappt jetzt... ich hab ewig herumprobiert und bin durch Zufall zu ner Version gekommen, die klappt... ich habe vor meine Angabe: "*.*" ein \ gemacht und nun funzt es.........
FileOperation Kopieren, "\*.*", "C:\+USBbackup_" & Date, False, True
hat jemand ne Ahnung woran das liegen könnte?
es klappt jetzt... ich hab ewig herumprobiert und bin durch Zufall zu ner Version gekommen, die klappt... ich habe vor meine Angabe: "*.*" ein \ gemacht und nun funzt es.........
FileOperation Kopieren, "\*.*", "C:\+USBbackup_" & Date, False, True
hat jemand ne Ahnung woran das liegen könnte?

