Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2007-05

RTL Manual pages 1056-1057 code listing question

1 message · 1 person ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Rick Seiden

I copied the code for socksrv.pp on pages 1056-1057 into FPC, and got a compilation error. I double checked the code, and it is the same as what's in the manual.

My system:
Windows XP
FreePascal IDE for Win32 for i386
Target CPU: i386
Version 1.0.8 2006/08/21
(Compiler Version 2.0.4)
(Debugger GDB 6.2.1)

The error I get on Run/Compile is:

    socksrv.pp(34,26) Error: Call by var parameters have to match

exactly: Got "ShortString" expected "TInetSockAddr"

The error I get is on the following line:
    if not Accept(S,FromName,Sin,Sout) then
I looked in the manual, and it defines Accept as follows:
    function Accept(Sock: LongInt;var Addr;var Addrlen: LongInt) : LongInt
    function Accept(Sock: LongInt;var addr: TInetSockAddr;var SockIn:
File of ;var SockOut: File of ) : Boolean
    function Accept(Sock: LongInt;var addr: TInetSockAddr;var SockIn:
text;var SockOut: text) : Boolean
    function Accept(Sock: LongInt;var addr: String;var SockIn: text;var
SockOut: text) : Boolean
    function Accept(Sock: LongInt;var addr: String;var SockIn: File of
;var SockOut: File of ) : Boolean

Based on the code, it appears that the example code is trying to use fourth definition, but the compiler appears to be expecting the third definition.

I have experience with Delphi, and have used it in the past to write socket based code. I just don't have experience with FPC. Any help you can give as to why the code from the manual isn't working would be appreciated.

Thanks in advance
Rick

PS: I searched the archives before posting. If this is a repost, please accept my apologies.

Reply by email