Hallo,
ich habe eine Prozedur, die dann aufgerufen wird, wenn das Interval vom Timer vorbei ist.
Dort werden immer die Werte aus der Registry ausgelesen. Dies möchte ich nun nur noch einmal im FormCreate machen und ansonsten soll nur beim synchronisieren die Pfäde miteinander verglichen werden.
So kann ich Arbeitsspeicher sparen.
Wie mach ich das?
Delphi-Quellcode:
procedure TFrmTimesynchro.synchronisieren;
var start, stop, i, x: Integer;
izeit: TDateTime;
k: TSystemTime;
Registry: TRegistry;
s: String;
begin
{Auslesen der Registry, um festzustellen, ob der Rechner
einen Proxyserver verwendet}
Registry := TRegistry.Create;
Registry.RootKey := HKEY_CURRENT_USER;
Registry.OpenKey('Software\Microsoft\Windows\CurrentVersion\Internet Settings\',True);
i := Registry.ReadInteger('ProxyEnable');
Registry.Free;
Registry := TRegistry.Create;
s := '\Software\Tisy Zeitermittlung\ProxyServer';
if Registry.ValueExists(s) then
begin
Registry.RootKey := HKEY_LOCAL_MACHINE;
Registry.OpenKey('\Software\Tisy Zeitermittlung\',True);
s := Registry.ReadString('ProxyServer');
Registry.Free;
end
else
// ansonsten den Standard
begin
Registry.RootKey := HKEY_CURRENT_USER;
Registry.OpenKey('Software\Microsoft\Windows\CurrentVersion\Internet Settings\',True);
s := Registry.ReadString('ProxyServer');
Registry.Free;
end;
Das sollte nur einmal ins FormCreate, aber wie vergleiche ich dann die Pfäde? Mit Publikvariablen?
Danke schon mal.