![]() |
Registry (Standard) auslesen, Fehlermeldungen
Hi eine Frage, wie schafft es Delphi7 diesen Standard Wert ohne Fehlermeldung auszulesen?
Delphi-Quellcode:
Er macht es aber danach kommt Fehlermeldung:
Function pascan: string;
begin Reg := TRegistry.Create; Reg.Rootkey:=HKEY_CLASSES_ROOT; Reg.Openkey('.~pas', true); Result := Reg.Readstring(''); Reg.Destroy; end; procedure showpas; begin if pascan = '~pas auto file' then showmessage('alles ok!'); reg.destroy; end; Zugriffsverletzung bei Adresse 00000000. Lesen von Adresse 00000000. Wie kriegt man diesen Fehler weg? |
Re: Registry (Standard) auslesen, Fehlermeldungen
Das sieht komisch aus:
Zitat:
|
Re: Registry (Standard) auslesen, Fehlermeldungen
(STandard) kann nur mit '' ausgelesen werden oder kennst du eine bessere Methode?
|
Re: Registry (Standard) auslesen, Fehlermeldungen
Ich gehe davon aus, daß Du den Fehler bekommst, wenn Du schowpas aufrufst.
Nach der Ausführung der Funktion ist Reg nicht mehr mit einem gültigen Objekt besetzt. In der Funktion zerstörst Du das Objekt bereits. Gruß Onlinekater |
Re: Registry (Standard) auslesen, Fehlermeldungen
Ich werds ausprobieren aber auch mit reg.close und reg.free in der function kam dasgleiche Problem.
|
Re: Registry (Standard) auslesen, Fehlermeldungen
Warum rufst du in schowpas reg.destroy auf? Du erstellst doch gar kein Objekt.
Und etwas Formatierung des Quellcodes würde bestiummt auch gut tun:
Delphi-Quellcode:
Dann fällt auch auf, dass du die Variable Reg gar nicht deklariert hast. Desweiteren fehlt der Ressourcenschutzblock und man sollte nie Destroy direkt aufrufen, sondern Objekte immer mit Free freigeben - steht aber auch in der Hilfe. :?
function pascan: string;
var Reg: TRegistry; // !!! begin Reg := TRegistry.Create(KEY_READ); // !!! try // !!! Reg.Rootkey := HKEY_CLASSES_ROOT; if Reg.Openkey('.~pas', False) then // !!! begin Result := Reg.Readstring(''); Reg.Close; // !!! end; finally // !!! Reg.Free; // !!! end; end; procedure showpas; begin if pascan = '~pas auto file' then showmessage('alles ok!'); end; Ich habe mal so eion paar eklatante Fehler bei dir korrigiert. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:22 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