AGB  ·  Datenschutz  ·  Impressum  







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

Registry auslesen unsicher

Ein Thema von HomerGER · begonnen am 9. Jun 2003 · letzter Beitrag vom 11. Jun 2003
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von HomerGER
HomerGER

Registriert seit: 9. Jun 2003
390 Beiträge
 
Delphi 7 Professional
 
#11
  Alt 10. Jun 2003, 21:09
zb.
Delphi-Quellcode:
Function Wert1_WU() : reg1_r;
var
output_r :reg1_r;
Begin
    output_r.s1 := HKEY_CURRENT_USER;
    output_r.s2 := '\Software\Microsoft\Windows\CurrentVersion\Explorer\CabinetState';
    output_r.s3 := 'Use Search Asst';
    result := output_r;
end;
die var reg1_1
Delphi-Quellcode:
//Type (öffentlich)
type
reg1_r = Record
s1 : HKEY;
s2 : String;
s3 : String;
end;

es jetzt so ca. 100 werte
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#12
  Alt 10. Jun 2003, 21:26
Moin HomerGER,

irgendwie seh' ich im Moment keinen unmittelbaren Grund, warum das schiefgehen sollte.
Das einzige was mir auffällt:
Du benutzt RegCloseKey auch dann, wenn der Wert von key_hk nicht initialisiert wurde, weil der Aufruf von RegOpenKeyEx schiefgegangen ist.
Zudem stellt try/finally den Resourcenschutzblock dar, der für den Fall, dass RegOpenKeyEx nicht geklappt hat nicht benötigt wird.

Probier mal diese Variante:

Delphi-Quellcode:
Function Reg_Lesen_RYU(input_r : reg1_r) : reg_wert_r;
var
key_hk : HKEY;
begin
        if (RegOpenKeyEx(input_r.s1, PChar(input_r.s2), 0, KEY_READ, key_hk) = ERROR_SUCCESS) then
        begin
          try
            Result.s1 := 'offen';
            Result.s2 := '';
          finally
            RegCloseKey(key_hk);
          end;
        end
        else
        begin
            Result.s1 := 'zu';
            Result.s2 := '';
        end;
end;
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von HomerGER
HomerGER

Registriert seit: 9. Jun 2003
390 Beiträge
 
Delphi 7 Professional
 
#13
  Alt 10. Jun 2003, 21:52
das gleich
aber christian
ich bekomme für die meisten doch kein ERROR_SUCCESS
also spring er doch da nicht rein?

mit der function schreib ich die ganzen werte in eine ini
sobald mein programm gestartet wird
wie du gesagt hast ist ja die Tregistry von api abgeleite

mit der Tregistry klappt es ja
als sollten die Pathangabe passen
in der Version mit TRegistry liest er alle werte richtig aus

die ersten 6 werte sind von Root Curent_User (Kein gelesen)
dann komm einer mit Local_Maschine den liest er und den nächsten von
current_user auch noch, aber ab da wieder nicht
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#14
  Alt 10. Jun 2003, 21:58
Moin HomerGER,

wieso das mit TRegistry klappt und mit der API Funktion versteh' ich nicht.

Wie schon gesagt:
Erst wenn Du ERROR_SUCCESS erhältst, hast Du einen Key göffnet, und nur in diesem Falle mach RegCloseKey Sinn.
Deshalb hab' ich den try/finally Block anders gelegt.
Das try kommt erst, nachdem eine Resource belegt wurde.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von HomerGER
HomerGER

Registriert seit: 9. Jun 2003
390 Beiträge
 
Delphi 7 Professional
 
#15
  Alt 10. Jun 2003, 22:19
schade
aber werde aber versuchen es doch noch mit der API hin zubekommen
wenn du noch ne Iddee melde dich doch bitte


ps. und danke für deine hilfe und mühe
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#16
  Alt 11. Jun 2003, 00:22
Moin HomerGER,

hast Du Dir mal die Kompo runtergeladen und angesehen?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von HomerGER
HomerGER

Registriert seit: 9. Jun 2003
390 Beiträge
 
Delphi 7 Professional
 
#17
  Alt 11. Jun 2003, 01:35
nein - hab kein download gefunden
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#18
  Alt 11. Jun 2003, 13:57
Moin HomerGER,

ich hab's Dir hier mal angehängt.
Angehängte Dateien
Dateityp: zip csreg_167.zip (10,1 KB, 24x aufgerufen)
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 12:43 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