![]() |
Re: Registry-Probleme unter Vista
Moment, ich hab dich so eben drauf hingewiesen, daß du dich unprofessionell benommen hast und das ist deine Antwort?
|
Re: Registry-Probleme unter Vista
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Schreib Dir ein kleines tool wie ich, daß deine Unit verwendet und in dem einfach nur folgendes steht:
Delphi-Quellcode:
Dann verbietest Du Dir selbst einfach mal den Schreibzugriff auf den Registry Key in den Du schreiben willst ('HKCU\Software\Project1' z.B.) und startest Dein Programm. Nachdem Du Dein Userprofil danach gelöscht und neu erstellt hast weil der kleine Befehl es komplett unbrauchbar gemacht hat, darfst Du mir gerne nochmal erzählen, daß ich Unrecht habe ;). Siehe dazu auch das geloggte Experiment auf meinem Testrechner im Attachment :).
EraseIniSection('Software');
|
Re: Registry-Probleme unter Vista
Meine Herren,
bitte zurück zum Thema. Ob die Klasse "TRegIniFile" unter Vista unter allen Umständen wie die Original-Klasse TRegistry funktioniert, müsste ein detaillierter Test klären. Fakt ist, dass man unter Vista doppelt und dreifach aufpassen muss, nicht in die Restriktionen des User-Accounts zu laufen. |
Re: Registry-Probleme unter Vista
Hallo Cheffe, eben darum sollte es ja ursprünglich gehen (wenn ich die ersten Ansätze der anderen zur Fehlersuche richtig interpretiert habe). Fakt ist ja nun mal, dass TRegIniFile die Rückgabewerte seines Vorfahren nicht prüft und stattdessen optimistisch in die Zukunft sieht. Wenn das OpenKey im Konstruktor von TRegIniFile schon nicht tut, wie soll dann weiter verfahren werden? Nun wollten wir vorsichtig andeuten, stattdessen vielleicht lieber auf TRegistry zurückzugreifen, da man auf diese Weise prüfen kann, wo es denn nun wirklich hakt. Wie das geendet hat, kann man ja nachlesen.
|
Re: Registry-Probleme unter Vista
Ich habe mir mal eben das Demo-Programm abgesehen und dabei einen Blick auf die Klasse "TRegIniFile" geworfen. Ich halte diese Klasse für problematisch, weil sie eben nicht dediziert prüft, wo was falsch gelaufen ist und dies an die Anwendung zurückliefert.
Für die Fehlersuche ist eine direkte Verwendung der Klasse TRegistry geeigneter, da man hier Operation für Operation auf Ihren Erfolg hin prüfen kann: TRegistry.Create TRegistry.RootKey = _XY_ KeyExists CreateKey OpenKey Read_XYZ_ Write_XYZ_ CloseKey Danach ist unmittelbar klar, wo es beim Anwender knallt und oftmals ergibt sich dann aus der Situation auch direkt die Ursache für das Fehlverhalten. [edit] @DeddyH: Habe Deine Antwort zu spät gelesen ... die rote Box ist gerade im Testforum :stupid: [/edit] |
Re: Registry-Probleme unter Vista
[OT]
Zitat:
|
Re: Registry-Probleme unter Vista
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
|
Re: Registry-Probleme unter Vista
Zitat:
|
Re: Registry-Probleme unter Vista
Zitat:
Davon mal abgesehen, funktioniert die Demo-Anwendung bei mir unter Windows Vista. Und das ohne besondere Rechte. |
Re: Registry-Probleme unter Vista
Eine Kleinigkeit noch:
Mischaeeeeel hat geschrieben: Der Code ist natürlich 32-Bit, aber er versucht zu arbeiten wie unter Windows 16-Bit. So weit würde ich nicht gehen. Die Klasse "TRegIniFile" imitiert die Schnittstellen der guten, alten INI-Datei. Intern werkelt aber ein vollständiges und aktuelles Objekt der Klasse "TRegistry". An der tatsächlich verrichteten Arbeit ist nichts auszusetzen, nur sind die Möglichkeiten, auf diesen Vorgang einzuwirken, viel zu gering. Das Beginnt bei der expliziten Wahl der Zugriffsrechte und gipfelt eben - wie in diesem Fall - an der Fehlerbehandlung, die in einem "geht" bzw. "geht nicht" mündet. Das soll kein Plädoyer für die Verwendung dieser Klasse sein, aber als Übergangslösung war sie damals - Ende der 90er - durchaus geeignet. Nur ist sie eben mittlerweile von der Realität überholt worden. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz