|
| D5 filerename problem. Fra : Hauge |
Dato : 28-01-01 18:30 |
|
Hejsa
Jeg har et lidt større problem.
Jeg har i mit program brug for at kunne omdøbe en flok filer der ligger på
et netværksdrev, der er tilsluttet som drev Z:
Jeg gør det på denne her måde:
assignfile(f,sti+filnavn);
rename(f,sti+'B'+filnavn);
Men efter disse filer er blevet omdøbt, kan jeg stadig accesse dem med det
gamle filnavn, tager jeg stifinder og går ind i det pågældende dir, så kan
jeg se at de er omdøbt, og det samme kan jeg se hvis jeg går ind på diret på
den server hvor Z: ligger. Men tager jeg og åbner een af filerne i f.eks.
Notepad og gæmmer filen, så opdager den at de er blevet omdøbt, og så kører
det som det skal, men det er vistnok ikke helt så smart igen.
Det virker altså som om at den ikke har opdaget at filerne er blevet omdøbt,
altså at den stadig tager dem fra en eller anden form for cache.
Findes der en løsning på det problem? Mit alternativ er at flytte filerne,
og så se hvad der vil ske ved det, men det kræver desværre en relativ stor
ændring af mit program.
På forhånd tak.
Mvh Hauge
| |
Jan (28-01-2001)
| Kommentar Fra : Jan |
Dato : 28-01-01 23:55 |
|
Hej, har du prøvet med CloseFile(F);
efterfølgende for at lukke handlen til filen...?
-Jan
"Hauge" <hauge@CUThrcnet.dk> skrev i en meddelelse
news:951oeb.mc.1@CUThrcnet.dk...
> Hejsa
>
> Jeg har et lidt større problem.
>
> Jeg har i mit program brug for at kunne omdøbe en flok filer der ligger på
> et netværksdrev, der er tilsluttet som drev Z:
>
> Jeg gør det på denne her måde:
>
> assignfile(f,sti+filnavn);
> rename(f,sti+'B'+filnavn);
>
> Men efter disse filer er blevet omdøbt, kan jeg stadig accesse dem med det
> gamle filnavn, tager jeg stifinder og går ind i det pågældende dir, så kan
> jeg se at de er omdøbt, og det samme kan jeg se hvis jeg går ind på diret
på
> den server hvor Z: ligger. Men tager jeg og åbner een af filerne i f.eks.
> Notepad og gæmmer filen, så opdager den at de er blevet omdøbt, og så
kører
> det som det skal, men det er vistnok ikke helt så smart igen.
>
> Det virker altså som om at den ikke har opdaget at filerne er blevet
omdøbt,
> altså at den stadig tager dem fra en eller anden form for cache.
>
> Findes der en løsning på det problem? Mit alternativ er at flytte filerne,
> og så se hvad der vil ske ved det, men det kræver desværre en relativ stor
> ændring af mit program.
>
> På forhånd tak.
> Mvh Hauge
>
>
| |
Hauge (29-01-2001)
| Kommentar Fra : Hauge |
Dato : 29-01-01 04:10 |
|
Hejsa
"Jan" <you.dont@believe.it> wrote in message
news:bp1d6.15754$fa3.770667@news010.worldonline.dk...
> Hej, har du prøvet med CloseFile(F);
> efterfølgende for at lukke handlen til filen...?
Ja det har jeg, jeg har også prøvet med AssignFile -> Reset -> Rename ->
CloseFile.
Det er i en helt anden Procedure filerne med det 'gamle' navn stadig kan
ses, så det er ikke noget med at det er genbrug af en gammel filehandle,
desværre..
Så det virker som om at den roder rundt i en cache eller noget lign., der
ikke har opdaget omdøbningen.
Tak for svaret.
Mvh Hauge
| |
Thomas Due (29-01-2001)
| Kommentar Fra : Thomas Due |
Dato : 29-01-01 09:59 |
|
Sandsynligvis er der tale om noget synkronisering der ikke er færdig. Især
hvis man, som
du jo gør, arbejder på et netværk drev kan det godt tage lidt tid inden at
det hele er
synkroniseret.
Typisk vil man skulle vente et større eller mindre tidsrum, men man kan
måske prøve at
"refreshe" biblioteket som filerne ligger i.
Prøv at slå op i Win32 hjælpen, og søg igennem File Funktions. Måske er det
du leder
efter et API kald i stil med FlushFileBuffers.
Mvh
Thomas Due
"Hauge" <hauge@CUThrcnet.dk> wrote in message
news:952qd1.134.1@CUThrcnet.dk...
> Hejsa
>
> "Jan" <you.dont@believe.it> wrote in message
> news:bp1d6.15754$fa3.770667@news010.worldonline.dk...
> > Hej, har du prøvet med CloseFile(F);
> > efterfølgende for at lukke handlen til filen...?
>
> Ja det har jeg, jeg har også prøvet med AssignFile -> Reset -> Rename ->
> CloseFile.
>
> Det er i en helt anden Procedure filerne med det 'gamle' navn stadig kan
> ses, så det er ikke noget med at det er genbrug af en gammel filehandle,
> desværre..
>
> Så det virker som om at den roder rundt i en cache eller noget lign., der
> ikke har opdaget omdøbningen.
>
> Tak for svaret.
> Mvh Hauge
>
>
| |
Hauge (29-01-2001)
| Kommentar Fra : Hauge |
Dato : 29-01-01 11:49 |
|
Hejsa
"Thomas Due" <noname@nowhere.net> wrote in message
news:953bf1$8jr$1@news.inet.tele.dk...
> Prøv at slå op i Win32 hjælpen, og søg igennem File Funktions. Måske er
det
> du leder
> efter et API kald i stil med FlushFileBuffers.
Jeg prøver om det skulle hjælpe, mange tak for hjælpen, jeg melder lige
tilbage.
Mvh Hauge
| |
Renè Rasmussen (24-02-2001)
| Kommentar Fra : Renè Rasmussen |
Dato : 24-02-01 23:54 |
|
Hej Hauge
Jeg har selv haft et problem der minder lidt om dit.
På et netværksdrev ville jeg afkorte filnavnene til 8.3 med det resultat at jeg kun kunne accesse
filerne på en maskine med MS-DOS 6.22.
Problemet opstod kun på netværksdrevet, ikke ved omdøbning på harddisken.
Årsagen var sandsynligvis den at jeg derved omdøbte filerne til et navn (MS-DOS navn) de reelt
havde i forvejen.
Jeg løste problemet ved først at omdøbe filerne til et midlertidigt navn - som var meget anderledes
end det
originale navn - og derefter omdøbe igen til det endelige navn.
Måske kunne det også hjælpe dig
mvh. Rene Rasmussen.
| |
|
|