Advertisement
Guest User

Untitled

a guest
Jul 7th, 2015
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.08 KB | None | 0 0
  1. type
  2.  
  3. // Message Packet that send from DLL
  4. TRECV_PACKET = Packed Record
  5. nID: Integer;
  6. lpData: Pointer;
  7. end;
  8. LPRECV_PACKET = ^TRECV_PACKET;
  9.  
  10. // Request record
  11. ReqBlock = Packed Record
  12. id: array [0..7] of Char
  13. end;
  14. LPReqBlock = ^ReqBlock;
  15.  
  16. // Response record
  17. ResBlock = Packed Record
  18. title: array[0..255] of Char; _dt: Char;
  19. description: array[0..1204] of Char; _time: Char;
  20. end;
  21. LPResBlock = ^ResBlock;
  22.  
  23. procedure TForm.OnReceiveData(var Message: TMessage);
  24. var
  25. recvPacket: LPRECV_PACKET;
  26. _resBlock: LPResBlock;
  27. begin
  28. // Actually, I don't know why Message.LParam is parameter of LPRECV_PACKET. How it
  29. recvPacket := LPRECV_PACKET(Message.LParam); works?
  30. _resBlock := LPResBlock(recvPacket^.lpData);
  31.  
  32. ShowMessage(_resBlock^.title); // Broken datas...
  33. end;
  34.  
  35. function ETK_Request(hWnd: HWND; pszTrCode: PAnsiChar; lpData: Pointer; nDataSize: Integer; bNext: Boolean; pszContinueKey: PAnsiChar; nTimeOut: Integer): Integer; stdcall; external XING_API_DLL;
  36. procedure OnReceiveData(var Message: TMessage); message WM_USER + XM_RECEIVE_DATA;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement