Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
prog:lazarus:types:pointer [06/06/2020 19:30]
thierry [Length et SizeOf]
prog:lazarus:types:pointer [17/06/2023 17:09] (Version actuelle)
thierry [Changement de type grâce aux pointeurs]
Ligne 9: Ligne 9:
 sous la forme adresse/​longueur comme : sous la forme adresse/​longueur comme :
 <code delphi> <code delphi>
-APIWindows(AHandle,​ pchar(vBuffuer), length(vBuffer));​+APIWindows(AHandle,​ pchar(vBuffer), length(vBuffer));​
 </​code>​ </​code>​
 On serait tenté d'​avoir la taille du Buffer avec ''​sizeof''​ (comme en C) mais il faut utiliser ''​length''​ On serait tenté d'​avoir la taille du Buffer avec ''​sizeof''​ (comme en C) mais il faut utiliser ''​length''​
Ligne 27: Ligne 27:
 end; end;
  
 +</​code>​
 +<note tip>Pour changer de type on peut utiliser aussi ''​absolute''​\\
 +Voir ici : [[https://​wiki.freepascal.org/​Absolute]]</​note>​
 +
 +===== Transmettre un Objet via un Int64 =====
 +==== Int64 -> TObject ====
 +
 +<code delphi>
 +var
 +  vI:int64;
 +  vO: TObject;
 +begin
 +  vO:​=TObject(pointer(vI));​
 +end;
 +</​code>​
 +==== TObject -> Int64 ====
 +<code delphi>
 +var
 +  vI:int64;
 +  vO: TObject;
 +begin
 +  vI:​=ptrint(vO);​
 +end;
 </​code>​ </​code>​