var NewSocket : TSocket; pAddr : PSockAddr; pAddrLen : PINT; begin New(pAddr); New(pAddrLen); NewSocket := WSAAccept(Socket, pAddr, pAddrLen, nil, 0);
위와 같은 코드가 64비트에서는 작동하지 않습니다. 잘못된 포인터 어쩌고 하는 에러가 닙니다. 32비트에서는 잘 돌아갑니다 ㅠ.ㅠ
PINT64 및 다른 방법으로 메모리 공간을 충분히 확보해 줘도 마찬가지 입니다. packed record 도 한 번 시도 해보고 여러 가지 다른 방법도 찾아봤지만 모두 실패 ㅠ.ㅠ
NewSocket := WSAAccept(Socket, nil, nil, nil, 0);
위의 코드는 32비트와 64비트에서 모두 잘 작동합니다. 이유는 아직 모르겠습니다 ^^;
TCriticalSection vs TMultiReadExclusiveWriteSynchronizer (0) | 2012.07.17 |
---|---|
인터페이스 릴레이에서 최대한 메소드 호출 시간 절약하기 (0) | 2012.07.03 |
Same origin policy 때문에 다른 포트로 jQuery에서 get이나 post를 할 수 없을 때 (0) | 2012.05.22 |
Record vs Object (0) | 2012.04.27 |
비트 모아 기가 바이트 (3) | 2012.03.26 |