Der Grund für die Frage ist eigentlich nur, dass ich ein kleine Funktion schreiben will, die ermittelt, ob das vorhandene System NT-Plattform ist oder nicht. Da GetVersionEx die einzigste Funktion aus der Windows.pas wär, wollte ich sie in meine
Unit aufnehmen. Dazu auch den Typ. NUn dachte ich, ich könnte das so machen:
Delphi-Quellcode:
type
TOSVersionInfo = record
dwOSVersionInfoSize: DWORD;
dwMajorVersion: DWORD;
dwMinorVersion: DWORD;
dwBuildNumber: DWORD;
dwPlatformId: DWORD;
szCSDVersion: array[0..127] of AnsiChar;
end;
.
.
function GetVersionEx(var lpVersionInformation: TOSVersionInfo): LongBool; stdcall;
.
.
implementation
function GetVersionEx; external 'kernel32.dll' name 'GetVersionExA';
Würde das so also nicht auf anderen System möglicher Weise funktionieren? Stattdessen sollte ich
Delphi-Quellcode:
szCSDVersion: array[0..127] of WideChar;
.
.
function GetVersionEx; external 'kernel32.dll' name 'GetVersionExW';
verwenden?