TFileStream problem

4 отговора 111 прегледа
#1

TFileStream problem

slednata funkcia raboti samo pri pyrvo 4etene na faila, t.e. 4ete kakvoto triabva viknata vtori pyt za sy6tia fail 4ete gluposti niakoi da ima ideia kyde mi e gre6kata.

void TDirectory::LoadFromFile(AnsiString filename)
{
TInfo* subdir;
TFileStream * f;
f=new TFileStream(filename,fmOpenRead);
f->Seek(0,soFromBeginning);
for (int i=0;i<f->Size/sizeof(TInfo);i++)
{
subdir=new TInfo;
f->Read(subdir,sizeof(TInfo));
}
f->~TFileStream();
}

Отговор
в отговор на Myka #2

Re: TFileStream problem

f->~ != delete f

Отговор
в отговор на Myka #3

Re: TFileStream problem

wc e prav
ne znam dali go razbra ama

f->~TFileStream(); // GRESHNO
delete f; // VQRNO

Отговор
в отговор на nqma #4

Re: TFileStream problem

iasno, tova go znam, no ne e tova problema, za6toto dori i da ne se iztrie taia pamet vtoria pyt se zadelia nova, a fail moje da se 4ete ot niakolko 4itatelia ednovremenno, za6toto go otvariam kato readonly.

Отговор
в отговор на Myka #5

Re: TFileStream problem

TFileStream*TF=new TFileStream(FileListBox1->FileName,fmOpenRead|fmShareExclusive);
///

delete TF;

Tova pri men raboti idealnbo.
Viarno e che samo edin otvaria daden file v daden moment ama ....
Viz
fmShareExclusive
Moze tam da e problema?

Отговор