Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: bonmario - Febbraio 08, 2022, 03:34:21 pm

Titolo: Dichiarazione "strana"
Inserito da: bonmario - Febbraio 08, 2022, 03:34:21 pm
Ciao a tutti,
stavo spulciando i sorgenti di Lazarus in cerca di una cosa che mi serve, e mi sono imbattuto nel sorgente "C:\Lazarus\fpc\3.2.2\source\rtl\win\wininc\struct.inc", che al suo interno ha questa dichiarazione:

Codice: [Seleziona]
     SID = record
          Revision : BYTE;
          SubAuthorityCount : BYTE;
          IdentifierAuthority : SID_IDENTIFIER_AUTHORITY;
          SubAuthority : array[0..(ANYSIZE_ARRAY)-1] of DWORD;
       end;
     _SID = SID;
     TSID = SID;
     PSID = ^SID;

Domanda: secondo voi che senso possono avere queste 2?
Codice: [Seleziona]
     _SID = SID;
     TSID = SID;
2

... in pratica, è come se si volesse creare 2 nuovi "alias" per lo stesso tipo, ma non ne capisco l'utilità ...

Ciao, Mario
Titolo: Re:Dichiarazione "strana"
Inserito da: Stilgar - Febbraio 08, 2022, 03:47:27 pm

Ciao


In memoria sono la stessa cosa, quindi la interpreto solo come una comodità.


Stilgar
Titolo: Re:Dichiarazione "strana"
Inserito da: DragoRosso - Febbraio 08, 2022, 04:01:48 pm
Sono come dici tu Alias, e servono per compatibilità con tra le varie versioni di Windows, dove negli ".h" sono state usate entrambe le versioni. Poi Borland e Embarcadero ci avranno messo sicuramente lo zampino ..... (e Lazarus deve seguire Delphi per queste cose ....).

Ciao
Titolo: Re:Dichiarazione "strana"
Inserito da: bonmario - Febbraio 09, 2022, 12:12:38 pm
Ok, grazie !!!