* I'm not sure about types SESSION_TYPE and SESSION_MODE in your code -- * probably DWORD or UINT is Ok for them? DECLARE INTEGER ACeNetConnect IN ACENET; INTEGER @ hObject,; STRING StationName,; STRING UsrID,; STRING Pwd,; INTEGER ConnectionType,; INTEGER SessionMode,; STRING SessionName DECLARE INTEGER ACeNetDisconnect IN ACENET INTEGER @hObject DECLARE INTEGER ACeNetPostRequest IN ACENET; INTEGER hObject,; STRING SendBuffer,; INTEGER SendBufferLength,; SHORT SendOptions,; STRING ReceiveBuffer,; INTEGER @ ReceiveBufferLength,; INTEGER Tmeout,; SHORT @ ReceiveOptions DECLARE ACeNetGetErrorText IN ACENET; INTEGER ErrorCode,; STRING ErrorText LOCAL BuffLen, RcvOptions STORE 0 TO BuffLen, RcvOptions Ret = ACeNetPostRequest(Handle, SendBuff, SendBuffLen, DATA_ONLY,; cBuffer, @BuffLen, 20, @RcvOptions)Note that parameters ReceiveBufferLength and ReceiveOptions are passed by reference. That means (1) they have to be allocated before calling ACeNetPostRequest function; (2) @ prefix should be applied -- similar to ByRef in VB.