Problem getting hostname in 10.0b

gopi

New Member
Hi,
I am trying to implement smtpmail in progress 10.0b (windows XP) .but I am unable to get the host name
Error is as follows:

---------------------------
Error
---------------------------
You cannot use OUTPUT to return CHARACTER or LONGCHAR data. Use MEMPTR instead. (12200)
---------------------------
OK
---------------------------


Code is as follows:

DEFINE VARIABLE w-TcpName AS CHAR NO-UNDO.
DEFINE VARIABLE w-Length AS INTEGER NO-UNDO.
DEFINE VARIABLE w-Return AS INTEGER NO-UNDO.
RUN gethostname (OUTPUT w-TcpName,
INPUT w-Length,
OUTPUT w-Return).


PROCEDURE gethostname EXTERNAL "wsock32.dll" :
DEFINE OUTPUT PARAMETER p-Hostname AS CHAR.
DEFINE INPUT PARAMETER p-Length AS LONG.
DEFINE RETURN PARAMETER p-Return AS LONG.
END PROCEDURE.

Thanks
 
Hi

Try this:

PROCEDURE gethostname EXTERNAL "wsock32.dll":
DEFINE INPUT-OUTPUT PARAMETER name AS MEMPTR.
DEFINE INPUT PARAMETER namlen AS LONG.
DEFINE RETURN PARAMETER iRet AS LONG.
END.

def var l-hostname as char no-undo.
def var lp as memptr no-undo.
def var i as int no-undo.

set-size( lp ) = 300.
run gethostname( input-output lp, 300, output i ).
l-hostname = get-string( lp, 1 ).
set-size( lp ) = 0.

Best regards,
Gabor
 
Top