Pourquoi cette écriture : (pB + 1)^ := 0; crache une erreur ?
adipie
Messages postés2Date d'inscriptiondimanche 7 février 2010StatutMembreDernière intervention18 mai 2020
-
Modifié le 18 mai 2020 à 14:03
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 2022
-
18 mai 2020 à 10:40
Bonjour,
Qui peut m'indiquer pourquoi cette écriture : (pB + 1)^ := 0; donne une erreur de compilation ?
function THidRlyForm.GetButtonStatus: Byte;
var
Btns: TRLButtons;
Dev: TAntHidDevice;
pB: pByte;
Status: Boolean;
Sb, i: Byte;
begin
if lbBoards.Count > 0 then
begin
Dev := TAntHidDevice(lbBoards.Items.Objects[lbBoards.ItemIndex]);
try
pB := AllocMem(10);
pB^ := 0;
(pB + 1)^ := 0; Erreur ?????????????????????????????????????????????????
(pB + 2)^ := 0;
Status := Dev.GetFeature(pB^, 9);
if Status then
begin
Sb := (pB + 8)^;
InitButtons(Btns);
for i := 0 to 7 do
begin
Btns.Buttons[(i * 2) ].Down := Boolean(Sb and 1);
Btns.Buttons[(i * 2) + 1].Down := not Boolean(Sb and 1);
Sb := Sb shr 1;
end;
end;
finally
FreeMem(pB);
end;
end;
end;
A voir également:
Pourquoi cette écriture : (pB + 1)^ := 0; crache une erreur ?
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 202250 Modifié le 28 mai 2020 à 15:29
Bonjour,
tu ne peux pas directement incrémenter le pointeur de cette manière: