Форум: "KOL";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
ВнизПроблема с потоками Найти похожие ветки
← →
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-шник с тем-же именем и того-же размера что и исходный,
но набитый совершенно левым мусором... Что я делаю неправильно?
← →
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 потока надо передавать указатель на блок памяти, а не указатель на объект другого потока!
← →
SPeller © (2003-11-14 13:09) [1]Нужно сначала прочитать в буфер твой файл, а уж потом из этого буфера писать. В параметр функции Write потока надо передавать указатель на блок памяти, а не указатель на объект другого потока!
← →
mdw © (2003-11-14 13:22) [2]Можно исползовать Stream2Stream(new, old, old.Size);
← →
mdw © (2003-11-14 13:22) [2]Можно исползовать Stream2Stream(new, old, old.Size);
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.036 c