답변 감사드립니다.
헌데 확인하고 컴파일을 하였더니
마찬가지로
[bcc32 Error] NET.cpp(295): E2285 Could not find a match for 'StrCopy(unsigned char *,char *)'
이런 에러를 뿜네요 ㅎㅎ
단순히 생각했을때 첫번째에 들어가는 인자값이 byte 형이라서 그런걸까 싶기도하네요 ㅠ
정성훈.해미 님이 쓰신 글 :
: 안녕하세요.
: 정성훈.해미입니다.
:
:
: StrCopy(pPacketInfo->Addr, AnsiString(gSystem.HostIP).c_str());
:
:
: 이렇게 사용해 보세요.
:
: C++에서는 문자열 복사 함수가 StrCopy입니다.
:
: 형식
: StrCopy(char* dst, char* src)
:
: 첫번째 인자 dst부분에는 char포인터인 pPacketInfo->Addr를 사용하시면 되겠고
: 두번째 인자 src부분은 AnsiString을 char*로 변환해주는 내장함수 c_str()을 사용하여
: AnsiString(gSystem.HostIP).c_str() 이렇게 사용하시면 되겠습니다.
:
: 만약 gSystem.HostIP이 char*이다면 굳이 AnsiString으로 변환 할 필요없이
:
:
: StrCopy(pPacketInfo->Addr, gSystem.HostIP);
:
: 이렇게 사용하시면 되겠고
:
: gSystem.HostIP이 UnicodeString이라면
: 내장함수 t_str()을 사용하여 다움과 같이 사용하면 되겠습니다
:
:
: StrCopy(pPacketInfo->Addr, gSystem.HostIP.t_str());
:
:
:
: jinhyun 님이 쓰신 글 :
: : c++로 변환하는중인데 StrPCopy 함수가 말썽이네요.
: :
: :
: : StrPCopy(@pPacketInfo^.Addr[0], AnsiString(gSystem.HostIP));
: :
: :
: : 델파이에서는 위와같은 형식으로 썼습니다.
: :
: : pPacketInfo^.Addr[0] 요너석은
: :
: :
: : Addr: array [0..IP_ADDR_LENGTH - 1] of Byte;
: :
: :
: : 포인터구조체에 이런식으로 선언되어있구요.
: :
: : 이녀석을 이전버전에서는
: :
: :
: : StrPCopy(&pPacketInfo->Addr[0], AnsiString(gSystem.HostIP));
: :
: :
: : 요런식으로 잘써먹었는데말이죠
: :
: : 지금 XE5버전에서는 이런식으로는 에러가 뜨네요.
: :
: :
: : [bcc32 Error] NET.cpp(196): E2285 Could not find a match for 'StrPCopy(unsigned char *,AnsiString)'
: :
: :
: : 이런에러와함께요;;..
: :
: : 타입에 문제가 있는것 같아서,
: :
: : 이리저리 변환해보았지만 전부 에러가뜨네요..
: :
: : 이거 방법아실분 혹시 계실까요??