Выбрать главу

 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, используемый в данном примере, гораздо быстрее выполняет перемещение страниц.