Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#112

AW: TMSWebUpdate - eine neue WebUpdate-Komponente

  Alt 11. Mai 2011, 13:02
Delphi-Quellcode:
var
  VerBufValue: Pointer;
Es gibt zwei Version von StrPas ... einmal ANSI (PAnsiChar) und Unicode (PWideChar)
da VerBufValue aber nur als Pointer deklariert ist, kann Delphi nicht mehr entscheiden was genommen werden soll.

Lösung:
Deklariere VerBufValue als PChar.



Dank einer automatischen Typkonvertierung könnte man Delphi-Referenz durchsuchenStrPas auch weglassen.
Delphi-Quellcode:
var
  VerBufValue: PChar;

...

function GetInfo(const aKey: string): string;
begin
  VerKey := Format('\StringFileInfo\%.4x%.4x\%s',
    [LoWord(PInteger(VerBufValue)^), HiWord(PInteger(VerBufValue)^), aKey]);
  if VerQueryValue(VerBuf, PChar(VerKey), VerBufValue, VerBufLen) then
    Result := VerBufValue
  else
    Result := '';
end;
PS:
Zitat von OH:
StrPas ist nur aus Gründen der Abwärtskompatibilität vorhanden.
$2B or not $2B

Geändert von himitsu (11. Mai 2011 um 13:05 Uhr)
  Mit Zitat antworten Zitat