Ha Delphi XE2 rimuovere la funzione IsWinNT?
-
27-10-2019 - |
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
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
...