Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как скопировать программу во время её выполнения ? [D5, Win2k]


stim ©   (2003-01-28 10:50:00) 

Как скопировать программу во время её выполнения из
самой программы?
Почему процедура выдаёт I/O Error 32

procedure TForm1.Button1Click(Sender: TObject);
var
FromF, ToF : file;
NumRead, NumWritten : Integer;
Buf : array[1..2048] of Char;
begin
AssignFile(FromF, "pro.exe");
Reset(FromF, 1);
AssignFile(ToF,"C:\pro1.exe" );
Rewrite(ToF, 1);
repeat
BlockRead(FromF, Buf, SizeOf(Buf), NumRead);
BlockWrite(ToF, Buf, NumRead, NumWritten);
until (NumRead = 0) or (NumWritten <> NumRead);
CloseFile(FromF);
CloseFile(ToF);
end;


Sha   (2003-01-28 14:18:00) [1]

В начале процедуры поставь FileMode:=0;
В конце - Filemode:=2;
Еще хорошо бы поместить твой код в блок try.


Наверх

Титульная страница Поиск, карта сайта Написать письмо