Delphi-Quellcode:
function ReadRegString(const KEY_NAME: HKEY; KeyPath, Key: string): string;
var
KeyH : HKEY;
dwLen : DWORD;
value : string;
begin
Result := '';
if RegOpenKeyEx(KEY_NAME, PAnsiChar(KeyPath), 0, KEY_READ, KeyH) = ERROR_SUCCESS then
Try
Try
dwLen := 0;
if RegQueryValueEx(KeyH, PAnsiChar(Key), nil, nil, nil, @dwLen) = ERROR_SUCCESS then
begin
Setlength(value, dwLen - 1);
if RegQueryValueEx(KeyH, PAnsiChar(Key), nil, nil, @value[1], @dwLen) = ERROR_SUCCESS then
Result := value
else Error(1);
end
else Error(1);
except
Error(1);
end;
Finally
RegCloseKey(KeyH);
end
end;
moin!
sind die "Try's" unnütz hier? ich weiss nämlich nicht ob es irgendeine
api funktion gibt die eine
exception auslöst
Und nochwas dazu...wie man sieht steht da 3mal "Error(1);" je nachdem ob irgendwas von den 3 if anweisungen nicht geklappt hat soll halt der fehler "1" an eine funktion übergeben werden....kann man das auch ohne das man es direkt jeder if anweisung im else teil angeben muss? also nur 1mal?