Firmware Version = 1289
Protocol Version = 257
Firmware Revision Date = 3/26/2004
Config Value = 3
Everything seems to init OK, the LED flashes when I call UUIRTTransmitIR, and flashes when I press any buttons on my TV remote.
My callback function set by UUIRTSetReceiveCallback is called each time a button is pressed on the remote as well. The 2nd parameter (userData) is passed in correctly and contains the value I set from UUIRTSetReceiveCallback, but the 1st parameter (IREventStr) is returing the same data no matter what button is pressed. And, it doesn't seem to be an ASCIIZ string either.
I get (in decimal) 0 0 0 0 1 0 0 0 32 144 1 16 171 as the 13 characters no matter which button is pressed. I would expect that this data would be different for each button pressed and the 13th character would always be an ascii zero. I'm new to Delphi so I figure I'm doing soemthing dumb with regards to how I've declared the method's parameters.

Here's how the callback method is coded:
procedure TUIRT.Rcv(IREventStr: pchar; userData: longint);
var
myObj: TUIRT;
j: integer;
s: string;
begin
myObj := TUIRT(userData);
Form1.Memo1.Lines.Add(' udata='+IntToStr(myObj.udata));
s := '';
for j := 0 to 12 do begin
s := s +IntToStr(ord(IREventStr[j]))+' ';
end;
Form1.Memo1.Lines.Add(' IREventStr='+s);
end;
I set up for the callback with this call (at the end of the TUIRT.openUIRT method):
res := UUIRTSetReceiveCallback(FDrvHandle, integer(@TUIRT.Rcv), integer(self));
Any idea what I've done wrong?
Thank you very much,
Dann