Einzelnen Beitrag anzeigen

Basilikum

Registriert seit: 9. Aug 2003
389 Beiträge
 
Delphi 7 Professional
 
#5

Re: AV beim Lesen eines Strings aus Registry mit RegQueryVal

  Alt 18. Apr 2005, 17:00
Delphi-Quellcode:
function TMpuRegistry.ReadString(const ValueName: string; var Value: string):
  LongInt;
var
  cbData: Integer;
  lpType: DWORD;
  Buffer: PChar;
begin
  // get size of required data
  result := RegQueryValueEx(FhkResult, PChar(ValueName), nil, @lpType, @Value, @cbData); // Delphi mag es nicht, wenn man ihm beim String-Handling dazwischenpfuscht (@Value)........ :-)
  if cbData <> 0 then
  begin
    GetMem(Buffer, cbData);
    try
      result := RegQueryValueEx(FhkResult, PChar(ValueName), nil, @lpType,
        @Buffer, @cbData);
      Value := string(Buffer); // <- hier AccessViolation
    finally
      FreeMem(Buffer);
    end;
  end;
end;
  Mit Zitat antworten Zitat