Получение имени модуля
Решение 1
Вот мое решение. Я использовал его во многих программах и смело рекомендую его вам.
procedure TForm1.Button1Click(Sender: TObject); var szFileName : array[0..49] of char;
szModuleName : array[0..19] of char;
iSize : integer;
beginStrPCopy(szModuleName, 'NameOfModule');
iSize := GetModuleFileName(GetModuleHandle(szModuleName),szFileName,
SizeOf(szFileName));
if iSize > 0 then
ShowMessage('Имя модуля с полным путем: ' + StrPas(szFileName))
else
ShowMessage('Имя модуля не встречено');
end; |
Решение 2
Вот как элегантно решил эту задачу Андрей Иванов (lynxhome@mail.ru):
procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage(ParamStr(0));
end;
|
Решение 3
Вот еще одно решение от Степанова Павла (mercury@gin.global-one.ru):
// Включить в Uses SysUtils procedure TMainForm.Button2Click(Sender: TObject); var AppDirectory,AppPathName : string; begin AppPathName := Application.ExeName;
AppDirectory := ExtractFilePath(AppPathName);
messageDlg('Имя программы '+ AppPathName+#13+
'Имя каталога программы '+ AppDirectory
,mtInformation,[mbOK],0);
end;
|
[000023]