11. september 2014 - 17:25 Der er 6 kommentarer og
1 løsning

Koiering af locked fil i Delphi

HEJ,

Jeg har en fil (en fil, som indeholder en record- definition med mange tilhørende aktuelle "records").

Nu har jeg brug for at kunne kopiere denne fil.

Bruger jeg CopyFile(Pchar("recordfil"),Pchar("modtagerRecordfil"), false);
)ditto for ( ---, True);  får jeg besked om at filen er låst af applicationen og lader sig ikke læse // kopiere.

Bruger jeg Tstream (TMemorystream OG TFileStream - begge) får jeg samme fejl (fil er låst og lader sig ikke læse // kopiere).. 

Jeg kan ikke "LUKKE" recorden der hvor jeg har behov for kopien, gør jeg det - krasher programmet (pga manglende Record-reference..)

Hvad gør jeg ??

Kristian
Avatar billede martinlind Nybegynder
11. september 2014 - 17:35 #1
kan du evt. copiere i en dos-box, så kan du jo bare lave en shellexecute
11. september 2014 - 20:51 #2
HEJ,

God ide..

Værd at prøve..

Melder tilbage

Kristian
11. september 2014 - 23:34 #3
HEJ,

Desværre, heller ikke dette virker tilfredsstillende.

Men jeg fik en ide som går på at jeg må nok alligevel kopiere hele recorden til en stream og så gemme denne stream som den ønskede kopi .... (suk) 

(beværligt JA, Surt JA , men er nok den eneste måde det kan gøres på, når WINDOZE er så umulig at lave numre med ... !)

Men det vil jeg arbejde med i morgen... !

(23:33 torsdag)


Kristian
Avatar billede arne_v Ekspert
12. september 2014 - 04:15 #4
Har du proevet at aabne filen med:

fmOpenReadWrite or fmShareDenyWrite

?
Avatar billede arne_v Ekspert
12. september 2014 - 04:15 #5
eller maaske:

fmOpenReadWrite or fmShareDenyNone
12. september 2014 - 16:24 #6
HEJ ,

Til Arne V,

Prøvede med:

TFilestream.Create(navn,fmOpen );

TFilestream.Create(navn,fmOpenReadWrite );

TFilestream.Create(navn,fmOpenReadWrite, fmShareDenyNone);

TFilestream.Create(navn,fmCreate);

og en Tmemorystream.Create;

som alle nægtede mig tilgang


Har indset at jeg nok må kopiere recorden fra pos(0) til LAST  ved at lave en scanning og læse recorden og så kopiere samme recorden...  Det vil virke, men vil være ret så sløvende...

Kristian
17. september 2014 - 11:28 #7
HEJ,

Fandt ingen løsning omkring kopieringen af filen, men løste problemt ved at kopiere recorden, som der var adgang til (på bekostning af tid).

Så lukker spm.

Kristian
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

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