Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: CL | DM;

Вниз

Проблема с потоками   Найти похожие ветки 

 
Deimos   (2003-11-14 12:19) [0]

Пишу инсталятор для своей утилиты, в процессе надо скопировать файлы во временную папку
написал такую процедуру:

var
new,old:PStream;

procedure copyToWinSystem(Dummy: Pointer; Sender:PControl);
begin
if CheckDirectoryContent(GetTempDir+"wcdupd.exe",false,"wcdupd.exe")=true then
  begin
   old:=NewReadFileStream (getStartDir+"wcdupd.exe");
   new:=NewWriteFileStream(GetTempDir+"wcdupd.exe");
   new.Write(old,old.Size);
   new.Free;
   old.Free;
  end;
end;

в результате в конечной папке (в моём случае c:\winnt\temp) находится exe-шник с тем-же именем и того-же размера что и исходный,
но набитый совершенно левым мусором... Что я делаю неправильно?


 
SPeller ©   (2003-11-14 13:09) [1]

Нужно сначала прочитать в буфер твой файл, а уж потом из этого буфера писать. В параметр функции Write потока надо передавать указатель на блок памяти, а не указатель на объект другого потока!


 
mdw ©   (2003-11-14 13:22) [2]

Можно исползовать Stream2Stream(new, old, old.Size);



Страницы: 1 вся ветка

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.028 c
8-1076071591
mfasakhov
2004-02-06 15:46
2004.04.11
Воспроизвести AVI на видеовыходе Pinnacle DV500


3-1081424142
WondeRu
2004-04-08 15:35
2004.04.11
ADO, MySQL, CGI, MS IIS нечто несовместимое?


1-1082364110
Moleg
2004-04-19 12:41
2004.04.11
Формирование отчетов в виде html файла?


4-1079956507
Yourik
2004-03-22 14:55
2004.04.11
Криптография, CryptGenKey(), CryptEncrypt()... etc


14-1082105036
Style
2004-04-16 12:43
2004.04.11
Верите ли вы в НЛО, и в то что нас часто посещают инопланетяне?