Avatar billede triumph Nybegynder
23. maj 2002 - 13:14 Der er 11 kommentarer og
1 løsning

FileSystemObject fryser programmets, mens den afvikler

Dim fso As New FileSystemObject

fso.CopyFolder "c:\test", "c:\test2", True
-------------------------------------------------
Disse 2 linjer kopierer et dir til et andet. Probkemet er bare at mens kopieringen finder sted, er programmet (brugerflade mm.) helt frosset, og ligner et program, der er gået ned. Hvordan beder jeg programmet lave f.eks. en "DoEvents" mens CopyFolder metoden bliver udført ?

Avatar billede Slettet bruger
23. maj 2002 - 13:16 #1
hmmmm xp?
Avatar billede Slettet bruger
23. maj 2002 - 13:18 #2
eller norton antivirus?
Avatar billede -mundi- Nybegynder
23. maj 2002 - 13:18 #3
kører det i en seperat thread ?
Avatar billede triumph Nybegynder
23. maj 2002 - 13:23 #4
Mundi: nej, jeg ved ikke hvordan jeg laver en multitreaded app. Kan du give mig et eksempel på hvordan jeg åbner et FileSystemObject i en ny tråd og afvikler kopieringen der ?
Avatar billede triumph Nybegynder
23. maj 2002 - 13:24 #5
Og til jer andre:

Windows 2000 uden antivirus.
Avatar billede Slettet bruger
23. maj 2002 - 13:26 #6
Oki, det var blot fordi at Norton kan blokere for FileSystemObjektet.

http://support.microsoft.com/support/kb/articles/Q295/3/75.ASP
Avatar billede -mundi- Nybegynder
23. maj 2002 - 13:31 #7
jeg er ikke expert i VB, men jeg fandt en pdf med et thread eksempel:

http://www.sas.com/rnd/itech/papers/VBClient.pdf
Avatar billede triumph Nybegynder
23. maj 2002 - 14:01 #8
Hvor var det lige henne i den pdf at du fandt et eksempel på af afvikle kode i en ny tråd ?
Avatar billede kedde65 Praktikant
25. maj 2002 - 11:32 #9
Det er ikke på en simpel måde muligt at lave tråde i VB 6.0, dette er først en feature der er kommet med i .net.

Derfor lær at leve med at programmet fryser, eller lav en ActiveX Control i Visual C++ og brug denne i VB programmet.

Du kan selvfølgelig også prøve at lave din ActiveX control eller komponent i VB  og se om det skulle hjælpe, der er noget med at ActiveX komponenter i VB er Apartment threaded, hvilket vil sige de ikke fryser hele programmet.

-mundi- >> Det PDF dokument har íngenting med threading at gøre...det er integration mellem SAS økonomi programmet og VB/VBA/VBScript det er vist de færreste her der har brug for det ;-)

VH CK
Avatar billede triumph Nybegynder
26. maj 2002 - 16:25 #10
Jeg fik svaret på IRC.

Det viser sig at den nemmeste og mest fornuftige måde at gøre det på, er ved hjælp af SHFileOperation API funktionen. På den måde får man ovenikøbet Windows' indbyggede progressbar, når man kopierer noget.
Avatar billede -mundi- Nybegynder
27. maj 2002 - 08:23 #11
Sorry hvis du har brugt tid på at læse den der pdf, jeg må have pastet et forkert link
Avatar billede triumph Nybegynder
27. maj 2002 - 15:17 #12
Jeg brugte en 5 min på at browse igennem det, og kunne godt se at det ikke havde noget med mit problem at gøre.

Men programmet blev løst, og vi blev forhåbentlig alle lidt klogere mht. fil håndtering under VB. Og det er jo det vigtigste :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester