Domanda

porting su XE2 e ho un IsWinNT linea di quelle raccolte in 7 e Delphi 2009 e mai ci ha dato alcun guff prima.

Non sono sicuro di quale sia lo scopo di tale funzione è una, ma è stato rimosso o spostato?

e ciò che è una funzione paragonabile?


Il mio male, era in Alberi virtuali Har. Scusate ragazzi -1 per me. Gratis +1 sulla casa

È stato utile?

Soluzione

In Delphi 2009, non v'è alcuna funzione IsWinNT. Inoltre, non v'è alcuna funzione API di Windows chiamato così. Molto probabilmente si sono confusi:? Forse IsWinNT faceva parte di qualche biblioteca 3rd-party che si è utilizzato

In ogni caso, se siete solo di mira la piattaforma Windows, quindi è possibile implementare la funzione come

function IsWinNT: boolean;
begin
  result := true;
end;

dal momento che ogni versione di Windows in quanto (e compresa) XP è stata basata su NT.

Altri suggerimenti

Non so come funzioni, ma è possibile utilizzare questo codice

if Win32Platform = VER_PLATFORM_WIN32_NT then 

FYI Delphi XE2 gira solo su sistemi basati WinNT

non riesco a trovare quella funzione in nessuno dei miei Delphi di (D6, D2010, DXE2). Ho iniziato ad esaminare per NT in questo modo:

Win32Platform = VER_PLATFORM_WIN32_NT

Questo test è un po 'ridondante su XE2 dato che supporta non più destinati a versioni non-NT di Windows. Non ho davvero provato a fare funzionare un XE2 prodotta eseguibile su Windows 9x ultimamente così non so se sia o non riesce quando si esegue questa operazione.

In XE2 è ora possibile fare uso di TOSVersion . Ad esempio, per verificare che sia in esecuzione su Windows XP o fino si dovrebbe semplicemente fare:

if (TOSVersion.Platform=pfWindows) and (TOSVersion.Check(5, 1)) then
  ...
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top