Supportnet Computer
Planet of Tech

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.

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?

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

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

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?

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*

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*)

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

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.....

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?

Zitat:
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

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

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".

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?

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: