![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TMemoryStream
авыф © (2007-12-18 18:51:00)вызываю процедуру, делаю там что-то, возвращаю результат:
var
frStream, fs : TMemoryStream;
buf: string;
outBuff: PChar;
outLen: DWORD;
Begin
outLen := 123;
GetMem(outBuff, 5000000);
frStream := TMemoryStream.Create;
frStream.LoadFromFile(frOld);
frStream.Seek(0, soFromBeginning);
BuildFRT(Application.Handle, frStream.Memory, frStream.Size, outBuff, 5000000, @outLen);
fs := TMemoryStream.Create;
fs.SetSize(outLen);
// fs.Read(outBuff, outLen);
fs.ReadBuffer(outBuff, outLen);
fs.SaveToFile('c:\t4.fr3');
rep.LoadFromStream(fs);
frStream.Free;
FreeMEm(outBuff);
rep.ShowReport();
вываливает AV на чтение в стрим. Что не так я делаю?
Palladin (2007-12-18 19:01:00) [21]остынь, горячий финский парень, нужно осозновать разницу между переменной и указателем на данные, коим и является PChar
авыф (2007-12-18 18:55:00) [22]
> Palladin © (18.12.07 18:53) [2]
спасибо
кто этот значок придумал? убил бы!
Palladin (2007-12-18 18:53:00) [23]хотя может и не там, бо
fs.ReadBuffer(outBuff, outLen);
должен выглядеть как
fs.ReadBuffer(outBuff^, outLen);
Palladin (2007-12-18 18:52:00) [24]ну вот собака и порылась в "делаю там что то"