AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Registry (Standard) auslesen, Fehlermeldungen
Thema durchsuchen
Ansicht
Themen-Optionen

Registry (Standard) auslesen, Fehlermeldungen

Ein Thema von Delphijunkie2006 · begonnen am 27. Mai 2006 · letzter Beitrag vom 28. Mai 2006
Antwort Antwort
Delphijunkie2006

Registriert seit: 30. Mär 2006
Ort: Stuttgart
37 Beiträge
 
#1

Registry (Standard) auslesen, Fehlermeldungen

  Alt 27. Mai 2006, 17:53
Hi eine Frage, wie schafft es Delphi7 diesen Standard Wert ohne Fehlermeldung auszulesen?

Delphi-Quellcode:
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 filethen showmessage('alles ok!');
reg.destroy; end;
Er macht es aber danach kommt Fehlermeldung:
Zugriffsverletzung bei Adresse 00000000. Lesen von Adresse 00000000.

Wie kriegt man diesen Fehler weg?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Registry (Standard) auslesen, Fehlermeldungen

  Alt 27. Mai 2006, 17:56
Das sieht komisch aus:
Zitat:
Result := Reg.Readstring('');
Markus Kinzler
  Mit Zitat antworten Zitat
Delphijunkie2006

Registriert seit: 30. Mär 2006
Ort: Stuttgart
37 Beiträge
 
#3

Re: Registry (Standard) auslesen, Fehlermeldungen

  Alt 27. Mai 2006, 18:41
(STandard) kann nur mit '' ausgelesen werden oder kennst du eine bessere Methode?
  Mit Zitat antworten Zitat
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.875 Beiträge
 
Delphi 12 Athens
 
#4

Re: Registry (Standard) auslesen, Fehlermeldungen

  Alt 27. Mai 2006, 19:00
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
Thomas Breitkreuz
  Mit Zitat antworten Zitat
Delphijunkie2006

Registriert seit: 30. Mär 2006
Ort: Stuttgart
37 Beiträge
 
#5

Re: Registry (Standard) auslesen, Fehlermeldungen

  Alt 28. Mai 2006, 15:18
Ich werds ausprobieren aber auch mit reg.close und reg.free in der function kam dasgleiche Problem.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Registry (Standard) auslesen, Fehlermeldungen

  Alt 28. Mai 2006, 15:25
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:
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 filethen
    showmessage('alles ok!');
end;
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.

Ich habe mal so eion paar eklatante Fehler bei dir korrigiert.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort


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 09:50 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