AGB  ·  Datenschutz  ·  Impressum  







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

Registry-Probleme unter Vista

Ein Thema von Popov · begonnen am 28. Mär 2008 · letzter Beitrag vom 5. Apr 2008
Antwort Antwort
Seite 7 von 9   « Erste     567 89      
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#61

Re: Registry-Probleme unter Vista

  Alt 28. Mär 2008, 21:19
Zitat von Daniel:
Nur ist sie eben mittlerweile von der Realität überholt worden.
Unsere Rede seit Beginn des Threads, aber wir sind ja unqualifiziert. OK, bin ja schon still
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#62

Re: Registry-Probleme unter Vista

  Alt 28. Mär 2008, 21:35
Zitat von Daniel:
Die Klasse "TRegIniFile" imitiert die Schnittstellen der guten, alten INI-Datei.
Das wollte ich eigentlich damit ausdrücken.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
wido

Registriert seit: 2. Jan 2006
122 Beiträge
 
#63

Re: Registry-Probleme unter Vista

  Alt 28. Mär 2008, 21:37
Zitat von Daniel:
An der tatsächlich verrichteten Arbeit ist nichts auszusetzen, nur sind die Möglichkeiten, auf diesen Vorgang einzuwirken, viel zu gering.
Sorry da jetzt OT werden zu müssen, aber an der dort verrichteten Arbeit ist sehr wohl was auszurichten. Immerhin werden alle Registry Operationen auf den Rootkey ausgeführt, wenn der beim Create übergebene Pfad zum Schreiben nicht geöffnet werden konnte. Ist vielleicht durchaus nur ein subtiler Bug, dafür sind die Ausmaße im Falle eines Auftretens umso größer. Ich verweise da nochmal an den von mir aufgezeichneten Selbstversuch. Aber wahrscheinlich würde niemand jemals darauf kommen "Software" oder einen beliebigen anderen Subkeynamen als Section Name bei TRegIniFile zu verwenden ...
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#64

Re: Registry-Probleme unter Vista

  Alt 28. Mär 2008, 21:49
Is' ja gar nicht so off-topic.

Ich kann den von Dir angesprochenen Fehler momentan nicht entdecken. Hier mal der Auszug aus der .WriteInteger-Methode:

Delphi-Quellcode:
CreateKey(Section);
  Key := GetKey(Section);
  if Key <> 0 then
  try
    OldKey := CurrentKey;
    SetCurrentKey(Key);
    try
      inherited WriteString(Ident, IntToStr(Value));
    finally
      SetCurrentKey(OldKey);
    end;
  finally
    RegCloseKey(Key);
  end;
Zeile 1: Key wird erzeugt, wenn nicht vorhanden
Zeile 2: Key wird abgefragt und ...
Zeile 3: ... nur dann, wenn Key existiert, wird der folgende Code ausgeführt.

Ich sehe das als prinzipiell richtig an - ohne jetzt diese Klasse als Ganzes verteidigen zu wollen.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#65

Re: Registry-Probleme unter Vista

  Alt 28. Mär 2008, 21:52
Ööhhmm.. OK, und wie weißt Du nun, ob es geklappt hat?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#66

Re: Registry-Probleme unter Vista

  Alt 28. Mär 2008, 21:54
Ob es geklappt hat? Och, das ist das Problem des Anwenders. *g*.

Ich war auf wido scharf ... also auf das von ihm angesprochene Problem:

Zitat:
Immerhin werden alle Registry Operationen auf den Rootkey ausgeführt, wenn der beim Create übergebene Pfad zum Schreiben nicht geöffnet werden konnte.
Das konnte ich aus dem Code nicht nachvollziehen.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
wido

Registriert seit: 2. Jan 2006
122 Beiträge
 
#67

Re: Registry-Probleme unter Vista

  Alt 28. Mär 2008, 22:01
Könntest Du dann mal bitte folgendes probieren?

Kleine Testapp:

Delphi-Quellcode:
program Project1;

{$APPTYPE CONSOLE}

uses
  registry;

begin
  with TRegIniFile.Create('Software\TestEntry\Test') do
    begin
      WriteString('Subkey', 'Bla', 'Blubb');
      Free;
    end;
readln;
  with TRegIniFile.Create('Software\TestEntry\Test') do
    begin
      WriteString('Subkey', 'Bla', 'Blubb');
      Free;
    end;
readln;
  with TRegIniFile.Create('Software\TestEntry\Test') do
    begin
      WriteString('Subkey', 'Bla', 'Blubb');
      Free;
    end;
readln;
end.
Starten, Registry Editor aufmachen, nach HKCU\Software gehen und die Rechte für den Zugriff auf TestEntry entfernen (Rechtsklick, Berechtigungen, Erweitert, "Vererbbare Berechtigungen einschließen" deaktivieren, Entfernen und den Dialog mit OK bestätigen). Dann Return in der Testapp und den View im Registry Editor aktualisieren. Der Section Name "Subkey" sollte jetzt als Unterschlüssel des Rootkeys HKCU erstellt worden sein inkl. der erwarteten Werte. Wenn Du dort die Rechte auch entfernst wie zuvor, kommt die Exception, die eigentlich vorher schon hätte kommen müssen: "Failed to create key subkey.".

Wäre interessant das mal zu tracen. Hab nur leider keine Sourcen, entsprechend kann ichs nicht selbst testen.
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#68

Re: Registry-Probleme unter Vista

  Alt 28. Mär 2008, 22:06
Hut ab. Das Szenario spielt sich so ab wie von Dir beschrieben. Danke für die Demonstration.
Das ist böse - gerade beim Löschen wird's spaßig.

Okay. Die Klasse gehört auf den Müll.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#69

Re: Registry-Probleme unter Vista

  Alt 28. Mär 2008, 22:07
Ihr könnt mich schizophren paranoid nennen, aber ich habe mir angewöhnt, meist Bool' sche Funktionen zu schreiben oder solche Prozeduren, die einen Var-Parameter für evtl. ErrorCodes enthalten. Das zumindest dann, wenn man später auf eine fehlerfreie Abarbeitung vertrauen muss. Das erscheint zwar im ersten Moment viel Schreibarbeit, hilft aber später evtl. enorm bei der Fehlersuche.

[edit] Krankheiten verwechselt [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#70

Re: Registry-Probleme unter Vista

  Alt 29. Mär 2008, 00:51
Zitat von DeddyH:
Ihr könnt mich schizophren nennen, aber ich habe mir angewöhnt, meist Bool' sche Funktionen zu schreiben oder solche Prozeduren, die einen Var-Parameter für evtl. ErrorCodes enthalten. Das zumindest dann, wenn man später auf eine fehlerfreie Abarbeitung vertrauen muss. Das erscheint zwar im ersten Moment viel Schreibarbeit, hilft aber später evtl. enorm bei der Fehlersuche.
Wenn du das selbst so machst ist das ok, nach meiner Meinung. Aber wenn das jemand anderes Verwenden soll, dann kann ich dir garantieren, dass der bool-Wert ignoriert wird.
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 7 von 9   « Erste     567 89      


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 18:34 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