AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Registry übernimmt die Werte nicht

Ein Thema von Kompon Ente · begonnen am 28. Jul 2005 · letzter Beitrag vom 28. Jul 2005
Antwort Antwort
Seite 1 von 2  1 2      
Kompon Ente
(Gast)

n/a Beiträge
 
#1

Registry übernimmt die Werte nicht

  Alt 28. Jul 2005, 10:11
Hallo,

die unten stehende Prozedur soll die Werte in die Registry schreiben.

Funktioniert aber nicht, warum auch immer.

Delphi-Quellcode:
procedure WriteRegistry;
var
  Reg: TRegistry;
  line: String;
begin
  if (FMyProxy = '') or (FMyProxyPort = '') then
    MessageDlg('Sie müssen einen Proxyserver angeben, über den Sie' + #13#10 + 'eine korrekte Internetverbindung herstellen können!', mtWarning, [mbOK], 0)
  else
  if (FMyProxy <> FCheckProxy) or (FMyProxyPort <> FCheckProxyPort) then
  begin
    line := FMyProxy + ':' + FMyProxyPort;

    Reg := TRegistry.Create;
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    Reg.OpenKey('\Software\Tisy Zeitermittlung\',True);

    if FProxyArt = 2 then
      Reg.WriteString('ProxyServer',line);

    Reg.WriteInteger('ProxyEnable',FProxyArt);
    Reg.WriteInteger('Synctime',FSynctime);
    Reg.CloseKey;
    Reg.Free;
  end;
end;
Diese wird aufgerufen, wenn man beim Speichern die Option "Ja" gewählt hat.
  Mit Zitat antworten Zitat
Neelix

Registriert seit: 30. Nov 2004
Ort: Im Delta-Quadranten
84 Beiträge
 
#2

Re: Registry übernimmt die Werte nicht

  Alt 28. Jul 2005, 10:16
Beschreibe doch mal bitte etwas genauer, was nicht funktioniert. Hast Du das Programm schon einmal zeilenweise debugt, um festzustellen, ob die einzelnen Anweisungen überhaupt angesprungen und ausgeführt werden?
Gruß von der USS Voyager

Neelix
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Registry übernimmt die Werte nicht

  Alt 28. Jul 2005, 10:16
Hai Ente,

unabhängig warum es bei Dir nicht geht
Solche Einträge gehören nicht in HKEY_LOCAL_MACHINE ein "normaler" Benutzer hat dort nämlich überhaupt keine Schreibrechte.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Kompon Ente
(Gast)

n/a Beiträge
 
#4
  Alt 28. Jul 2005, 10:34
Sie werden nicht ausgeführt, obwohl es eigentlich passieren müsste.

Ich hab noch eine Prozedur ReadRegistry und dort speichere ich mir die Werte in den Variablen FCheckProxy und FCheckProxyPort, um sie in der WriteRegistry vergleichen zu können.

Aber es funktioniert nicht, obwohl ich die Werte verändere!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5
  Alt 28. Jul 2005, 10:38
Zitat von Kompon Ente:
Sie werden nicht ausgeführt, obwohl es eigentlich passieren müsste.
Heißt das, es wird gar nicht in den if-Zweig verzweigt? Dann stimmt wohl die Bedingung nicht.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
barf00s
(Gast)

n/a Beiträge
 
#6

Re: Registry übernimmt die Werte nicht

  Alt 28. Jul 2005, 10:39
Brechpunkte & F7/F8 sind deine Freunde
  Mit Zitat antworten Zitat
Kompon Ente
(Gast)

n/a Beiträge
 
#7
  Alt 28. Jul 2005, 10:40
Er kommt dahin, dass gefragt wird if (FMyProxy <> FCheckProxy) or (FMyProxyPort <>FCheckProxyPort) then aber dann springt er direkt zum end;

Das darf gar nicht sein, hier mal die ReadRegistry:

Delphi-Quellcode:
procedure ReadRegistry;
var
  Reg: TRegistry;
  line: String;
begin
  Reg := TRegistry.Create;
  Reg.RootKey := HKEY_CURRENT_USER;
  Reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Internet Settings\',True);
  line := Reg.ReadString('ProxyServer');
  if line <> 'then
  begin
    if not ((Ord(line[1])>=48) and (Ord(line[1])<=57)) then
    begin
      if pos('http=',line) > 0 then
      begin
        Delete(line,1,pos('http=',line)-1);
        line := copy(line,6,pos(';',line)-6);
      end
    end;
    FSystemProxy := copy(line,1,pos(':',line)-1);
    FSystemProxyPort := copy(line,pos(':',line)+1,length(line)-1);
  end
  else
  begin
    FSystemProxy := '';
    FSystemProxyPort := '0';
  end;

  Reg.RootKey := HKEY_LOCAL_MACHINE;
  Reg.OpenKey('Software\Tisy Zeitermittlung\',True);
  if Reg.ValueExists('ProxyServer') then
  begin
    line := Reg.ReadString('ProxyServer');
    FMyProxy := copy(line,1,pos(':',line)-1);
    FMyProxyPort := copy(line,pos(':',line)+1,length(line)-1);
  end
  else
  begin
    FMyProxy := '';
    FMyProxyPort := '0';
  end;

  if not (Reg.ValueExists('Synctime')) then
    Reg.WriteInteger('Synctime',60000);

  FSynctime := Reg.ReadInteger('Synctime');
  FProxyArt := Reg.ReadInteger('ProxyEnable');
  Reg.Free;

  FCheckProxy := FMyProxy;
  FCheckProxyPort := FMyProxyPort;

end;
  Mit Zitat antworten Zitat
barf00s
(Gast)

n/a Beiträge
 
#8

Re: Registry übernimmt die Werte nicht

  Alt 28. Jul 2005, 10:41
auch hier wieder HKLM ... -.-°
  Mit Zitat antworten Zitat
Kompon Ente
(Gast)

n/a Beiträge
 
#9
  Alt 28. Jul 2005, 10:48
Ich bin Administrator am PC -> ergo hab ich Schreibrechte!

Daran liegt's schon mal net..
  Mit Zitat antworten Zitat
barf00s
(Gast)

n/a Beiträge
 
#10

Re: Registry übernimmt die Werte nicht

  Alt 28. Jul 2005, 10:49
du solltest es dennoch umstellen, denn nicht jeder benutzer deines programms wird über administrator rechte verfügen (wennses richtig machen) denk ich mal

und probiers mit dem was ich dir vor zehn minuten schon geraten habe
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz