안녕하세요 초보임다님.
오류는 파라미터가의 선언과 타입이 일치 하지 않아 발생하는 것으로 보입니다.
Libray Path에 링크된 RyuSocketServer.pas를 잘못된 경로로 참조 하고 있거나 , 동일한 이름의 함수가 다른 곳에서 선언되었고 이를 참보 해서 생긴 문제로 보입니다.
그렇다면 bind를 Ctrl + Click 하면 선언된 함수를 볼 수 있으니 확인해 보세요.
초보임다 님이 쓰신 글 :
: [DCC Error] RyuSocketServer.pas(776): E2033 Types of actual and formal var parameters must be identical
: 이런 에러가 뜹니다.
:
: 아래 소스코드 입니다.
:
: procedure TRyuSocketServer.Start;
: var
: Addr : TSockAddrIn;
: Loop : integer;
: begin
:
: 생략...
:
: if bind(FSocket, @Addr, SizeOf(Addr)) <> 0 then <---- 이부분에서 에러가 납니다.
: raise Exception.Create(SysErrorMessage(WSAGetLastError));Exception.Create(SysErrorMessage(WSAGetLastError));
:
: ===================================================
: bind 함수는 다음과 같이 선언이 되어 잇습니다.
:
: type
: PSockAddrIn = ^TSockAddrIn;
: TSockAddr = TSockAddrIn;
: PSockAddr = ^TSockAddr;
:
: function bind( const s: TSocket; const addr: PSockAddr; const namelen: Integer ): Integer; stdcall;
:
:
:
: 델파이를 시작한지 얼마 되지않아서 모르는게 너무 많습니다.
: 부디 도와주시면 감사하겠습니다.
|