Fíjate en la definición de TVMAXRD.AbrirPuerto(var numPuerto: Smallint): Integer;
Claramente te dice que es un SmallInt pero que se pasa POR REFERENCIA.
Entonces, esta llamada no te vale:
Código Delphi
[-]
var
lRet: LongWord;
begin
lRet := vmaxrd1.AbrirPuerto(1);
end
Prueba a hacerla de este modo, a ver si va:
Código Delphi
[-]
var
lRet: LongWord;
NumPuerto: SmallInt;
begin
NumPuerto := 1;
lRet := vmaxrd1.AbrirPuerto(NumPuerto);
end
Saludos