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

Вниз

TFileStream   Найти похожие ветки 

 
Timon ©   (2002-05-06 16:54) [0]

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


 
hoaxer ©   (2002-05-06 16:56) [1]

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


 
Timon ©   (2002-05-07 11:24) [2]

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


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

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


 
Alx2 ©   (2002-05-07 13:04) [4]

Это работает - только что проверил.
(Ф-я 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;



 
Song ©   (2002-05-07 13:16) [5]

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



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

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

Наверх




Память: 0.47 MB
Время: 0.014 c
6-64751
SB.John
2002-03-06 09:12
2002.05.20
Как клиенту найти сервер.


4-64881
greenrul
2002-03-11 20:58
2002.05.20
Мастера! Помогите вывести текст из буфера обмена в АКТИВНОЕ приложение.


1-64729
Proud Berdiyan
2002-05-01 14:54
2002.05.20
В чем глюк?


1-64743
VS2001
2002-04-30 05:56
2002.05.20
Как узнать что программа (модуль из DLL) уже запущена


1-64571
drt
2002-05-07 13:11
2002.05.20
Tinfile