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

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

TFileStream


Timon ©   (2002-05-06 16:54:00) 

Пытаюсь прочитать программой саму себя (т.е. EXEшник). Использую для этого TFileStream, и при открытии файла выдается ошибка. Может кто подскажет какой-нибудь другой способ организации той же задачи?


Song   (2002-05-07 13:16:00) [1]

Или читайте в TMemoryStream


Alx2   (2002-05-07 13:04:00) [2]

Это работает - только что проверил.
(Ф-я sayIt = messagebox)

procedure TForm1.Button14Click(Sender: TObject);
Var F : THandle;
tmp : ShortString;
readed : cardinal;
begin
F := CreateFile(PChar(ParamStr(0)),GENERIC_READ,FILE_SHARE_READ,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
SayIt(SysErrorMessage(GetLastError));
if F=invalid_handle_value then
exit;
tmp[0]:=#255;
if not ReadFile(F,tmp[1],255,readed,Nil) then
SayIt(SysErrorMessage(GetLastError));
CloseHandle(F);
end;


Timon   (2002-05-07 12:39:00) [3]

Нет, все равно ничерта не работает. Ну файл открывается, а чтение из него либо выдает ошибку, либо ничего не возвращает.


Timon   (2002-05-07 11:24:00) [4]

hoaxer , спасибо большое за совет, а действительно пишу нечто типа SFX. Точнее инсталяционную программу.


hoaxer   (2002-05-06 16:56:00) [5]

Видать пытаешся сделать что-то SFX ;-)))))))
используй вместо fmOpenRead fmShareDenyNone


Наверх

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