/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
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

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





Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste