reg.CloseKey;
reg.free;
end;
procedure StartServiceFromRegistry(appName,appPath:string);
var reg: TRegistry;
begin
reg := TRegistry.Create;
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.LazyWrite := false;
reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\RunServices', true{canCreate});
reg.WriteString(appname, appPath);
reg.CloseKey;
reg.free;
end;
procedure StartFromWinIni(appPath:string);
var
WinIni : TIniFile;
WinIniFileName : array[0..MAX_PATH] of char;s : string;
begin
GetWindowsDirectory(WinIniFileName, sizeof(WinIniFileName));
StrCat(WinIniFileName, '\win.ini');
WinIni := TIniFile.Create(WinIniFileName);
s := WinIni.ReadString('windows', 'run', '');
if s = '' then s := appPath
else s := s + ';' + appPath;
WinIni.WriteString('windows', 'run', s);
WinIni.Free;
end;
function IsInstalled(FileExe: String): Boolean;
var
reg : TRegistry;
temp: String;
begin
result:=False;
reg:= Tregistry.Create;
try
reg.RootKey:= HKEY_LOCAL_MACHINE;
if reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\App Paths\'+FileExe, false) then begin
if reg.ValueExists('') then begin
temp := reg.readString('Path');
result := FileExists(temp+'\'+FileExe);
end;
end;
finally
reg.Free;
end;
end;
END.
Каким именно релизом Delphi вообще стоит пользоваться для каждой конкретной версии?
Nomadic отвечает:
A: Во-первых, вы можете узнать точную версию Delphi, если в окошке Help | About нажмете кнопку Alt и, не отпуская, наберете «VERSION».
Delphi 1 следует апгрейдить до версии 1.02 с помощью патчей.
Delphi 2 следует апгрейдить до версии 2.01. Это полноценный дистрибутив. Эту версию можно, в частности, узнать по странице «Internet» в палитре компонентов. Ее точная версия 2.0.76.0.
Delphi 3 следует взять версии 3.02. Это полноценный дистрибутив 3.01 и патчи до 3.02.
Delphi 4 же должна быть обновлена вторым, а затем третьим Service Pack'ами, которые можно взять на сайте Inprise.
Версии Delphi 4.3 и 4.5 являются обманными версиями. В действительности это ранние беты Delphi 4.0.
Примечания
1
64K для Win3.1 & 64K только для 16-битной подсистемы Win95. Для получения дополнительной информации обратитесь в Microsoft или к MSDN.
(обратно)
2
Как побочный эффект при разрушении вышеописанных дескрипторов, TTabbedNotebook, используемый в данном примере, гораздо быстрее выполняет перемещение страниц.