Формат .RES-файла
Это стандартный двоичный windows-формата файл ресурсов, включающий в себя информацию о приложении. По умолчанию, Delphi создает новый .RES-файл при каждой компиляции проекта в исполняемое приложение.
Формат .DB-файла
Файлы с таким расширением – стандартные файлы Paradox.
Формат .DBF-файла
Файлы с таким расширением – стандартные dBASE-файлы.
Фомат .GDB-файла
Файлы с таким расширением – стандартные Interbase-файлы.
Формат .DMT-файла
Этот «частный» бинарный файл содержит встроенные и определенные пользователем шаблоны меню. Данный файл не может быть отредактирован никакими способами через IDE. Поскольку данный файл является «личным», то совместимость с последующими версиями Delphi не гарантируется.
Формат .DBI-файла
Данный текстовый файл содержит информацию, необходимую для инициализации Database Explorer. Данный файл не может быть отредактирован никакими способами через Database Explorer.
Формат .DEM-файла
Данный текстовый файл содержит некоторые стандартные, привязанные к стране, форматы компонента TMaskEdit. Как и любой текстовый файл данных, используемый Delphi, редактировать его самостоятельно не рекомендуется.
Формат .OCX-файла
.OCX-файл является специализированной DLL, которая содержит все или несколько функций, связанных с элементом управления ActiveX. Файл OCX задумывался как «обертка», которая содержала бы сам объект, и средства для связи с другими объектами и серверами.
Delphi 1
function DelphiLoaded : boolean;
{ Определение работающей Delphi. Во всяком случае, дает правильный результат если Delphi минимизирован, или имеет открытый проект. Также, правильный результат получается, если вызывающее приложение автономно, или запущено из-под IDE. Код написан на основе идей Wade Tatman wtatman@onramp.net - Mike O'Hanlon, The Pascal Factory, найденных в Delphi-Talk List. }
function WindowExists(ClassName, WindowName: string): boolean;
{ Проверяем наличие определенного окна Window, используя для этого паскалевские строки вместо PChars. }
var
PClassName, PWindowName: PChar;
AClassName, AWindowName: array[0..63] of char;
begin
if ClassName = '' then PClassName := nil
else PClassName := StrPCopy(@AClassName[0], ClassName);
if WindowName = '' then PWindowName := nil
else PWindowName := StrPCopy(@AWindowName[0], WindowName);
if FindWindow(PClassName, PWindowName) <> 0 then WindowExists := true
else WindowExists := false;
end; {WindowExists}
begin {DelphiLoaded}
DelphiLoaded := false;
if WindowExists('TPropertyInspector', 'Object Inspector') then
if WindowExists('TMenuBuilder', 'Menu Designer') then
if WindowExists('TApplication', 'Delphi') then
if WindowExists('TAlignPalette', 'Align') then
if WindowExists('TAppBuilder', '') then DelphiLoaded := true;
end; {DelphiLoaded}
Следующая программа возвращает TRUE при запуске в Delphi IDE (ПРИМЕЧАНИЕ: это _не_ сработает, если подпрограмма в DLL).
function InIDE: Boolean;
begin
Result := Bool(PrefixSeg) and Bool(PWordArray(MemL[DSeg:36])^[8]));
end; { InIDE }
Вот три подпрограммы, работающие у меня в связке D1 и Win 3.1x:
function LaunchedFromDelphiIDE: Boolean;
{----------------------------------------------------------------}
{ Осуществляем проверку запущенности приложения из-под Delphi }