Ver Mensaje Individual
  #1  
Antiguo 08-01-2025
CrazySoft CrazySoft is offline
Miembro
 
Registrado: abr 2005
Posts: 100
Reputación: 22
CrazySoft Va por buen camino
Error paso de parametro mediante direccion de memoria en D7

Buen día, una favor como puedo modificar este código para usar en Delphi 7, da el siguiente error "Operator not applicable to this operand type" al asignar un valor a (pB + 1)^=1; el Delphi 10XE compila correctamente



Gracias por su colaboración



Código Delphi [-]
function THidRlyForm.SendCmd(Relay, Mode: Byte): String; 
var   pB,pB1,pB2,pB0,pB8: pByte;   
Dev:  TJvHidDevice;   
Status: Boolean; 
begin   
Dev := TJvHidDevice(lbBoards.Items.Objects[lbBoards.ItemIndex]);  
 try
     pB := AllocMem(10);
       pB^      := 0;    
 (pB + 1)^ := Mode;  // Error Operator not applicable to this operand type     
(pB + 2)^ := Relay;
      Status := Dev.SetFeature(pB^, 9);
      if Status then       Result := Format('%2.2x %2.2x %2.2x', [(pB + 0)^, (pB + 1)^, (pB + 2)^])
     else 
      Result := 'Command not sent';
      Status := Dev.GetFeature(Pb^, 9);
     if Status then       Result := Format('%s - %2.2x', [Result, (pB + 8)^]);
   finally
     FreeMem(pB);
   end;
 end;

Última edición por CrazySoft fecha: 08-01-2025 a las 17:09:47.
Responder Con Cita