Wenn man es vernünftig haben will, dann nimmt erstellt man sich eine
Unit, wo man a) die
Api-Aufrufe korrekt deklariert und b)
UNICODE /
ANSI safe ist.
So sähe das dann aus:
Delphi-Quellcode:
unit myWindows,
interface
uses
Windows;
type
LPCTSTR = PChar;
LPCSTR = PAnsiChar;
LPCWSTR = PWideChar;
{$EXTERNALSYM GetFileVersionInfoSize}
function GetFileVersionInfoSize(lptstrFilename: LPCTSTR; lpdwHandle: LPDWORD): DWORD;
stdcall;
{$EXTERNALSYM GetFileVersionInfoSizeA}
function GetFileVersionInfoSizeA(lptstrFilename: LPCSTR; lpdwHandle: LPDWORD): DWORD;
stdcall;
{$EXTERNALSYM GetFileVersionInfoSizeW}
function GetFileVersionInfoSizeW(lptstrFilename: LPCWSTR; lpdwHandle: LPDWORD): DWORD;
stdcall;
implementation
function GetFileVersionInfoSize;
external version
name {$IFDEF UNICODE} '
GetFileVersionInfoSizeW'
{$ELSE} '
GetFileVersionInfoSizeA'
{$ENDIF};
function GetFileVersionInfoSizeA;
external version
name '
GetFileVersionInfoSizeA';
function GetFileVersionInfoSizeW;
external version
name '
GetFileVersionInfoSizeW';
end.
Das dieses so in den Delphi-Versionen vor Delphi 2007 nicht gemacht wurde, dafür kann ich auch nichts, aber man hat es eben selber in der Hand, ob man es vernünftig, korrekt und sicher hat
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)