|
심심산천 님이 쓰신 글 :
: 질문할때 마다 느끼는 거지만 문제가 정확히 뭔지 모를땐 설명하기도 어려운거 같애요..
:
: 우선 저는 지금 com으로 만든 dll을 포함시켜서 프로그램을 짜는데요..
: vc로 잘돼는 프로그램을 cbuilder5에서도 똑같이 작동하게 하는겁니다.
: 근데
: static GUID m_service_guid = { 0x5fc2a42e, 0x144e, 0x4bb5 , {0xb4, 0x3f, 0x4e, 0x61, 0x71, 0x1d, 0x1c, 0x32} };
: 라고 선언하고 값을 찍어보면
: m_service_guid.Data1 = 1606591534,
: m_service_guid.Data2 = 5198,
: m_service_guid.Data3 = 19381,
: m_service_guid.Data4 = ?Naq2Widcomm SDK RFComm Service
: 이렇게 나오거든요..
:
: 여기서 아스키값을 대조해 보니깐 '?Nap 2' 는 {0xb4, 0x3f, 0x4e, 0x61, 0x71, 0x1d, 0x1c, 0x32}
: 이랑 같습니다.
:
: 문제는 vc에서 m_service_guid를 찍어보면 위와 똑같은데 정상적으로 돌아갑니다.
: 하지만 cbuilder에서는 m_service_guid값을 TSdpService에 할당하고 또 다른 값을 할당하면
: m_service_guid를 할당하는 함수가 성공적으로 호출되지 않았는데 다른값을 할당하려고 해서 에러가 났다는 코드를 리턴하거든요.
:
: 'TSdpService'가 com server라 내부에서 어떻게 구현되는지 잘모르겠지만
: 값을 순서대로 할당하지 않으면 뒤의 값을 저장할 수 없게되어있어요.
:
: 의논할 사람도 없고 답답합니다.
:
:
어떤데 쓸려고 GUID 를 직접 만지는지 잘모르겠네요.
객체를 생성하는데 이외에는 거의 쓸일이 없을거 같은데..
|