Q&A

  • [질문]배열의 주소를 찾아주세요. 비베 함수 varptr(xxx) -> integer(@xxx) 변경관련하여~
[질문]배열의 주소를 찾아주세요. 비베 함수 varptr(xxx) -> integer(@xxx) 변경관련하여~

비베 문장을 델파이로 바꿔야 합니다.
특히 varPtr(m_template(0,i)) -> integer(@m_template[0,i]) 로 바꿔서 하니깐
에러는 없는데, 비베와 비교할 때 주소값을 제대로 못 가져 오는것 같아요.

   private m_template : Array[0..MAX_TEMPLATE_SIZE - 1, 0..MAX_TEMPLATE_NUM - 1] of Byte;

    Dim template_ptr(MAX_TEMPLATE_NUM - 1) As Long
    Dim i As Long
    For i = 0 To MAX_TEMPLATE_NUM - 1
        template_ptr(i) = VarPtr(m_template(0, i))
    Next

비베로 실행하는 아래와 같은 주소값을 가져옵니다.
VBtemplate_ptr: 102080424
VBtemplate_ptr: 102080936
VBtemplate_ptr: 102081448

그런데, varPtr(m_template(0,i)) -> integer(@m_template[0,i])  와 같이 바꿔서 하니깐
아래와 같이 델파이에서는 출력하네요.

DELtemplate_ptr: 5754900
DELtemplate_ptr: 5754901
DELtemplate_ptr: 5754902

***인터넷 사방팔방 뒤져서 찾아서 갖가지 방법을 다 해 봤는데, 제대로된 값을 못 가져오는것 같은데요.
지금은 모니터를 뚜러지게 쳐다봐서 눈이 너무 아파요 ^^
아시는 분은 좀 도와 주세요. ^^
2  COMMENTS
  • Profile
    최용일 2010.08.04 03:51
    맞게 하신것 같은데요...
    다만 VB와 Delphi에서 2차원배열은 행,열이 반대입니다.

    Array[0..MAX_TEMPLATE_NUM - 1, 0..MAX_TEMPLATE_SIZE - 1] of Byte;
  • Profile
    정민경 2010.08.04 05:24
    그래요~ 행과 열이 반대였네요. ^^ㅎ

    오늘 하루종일 눈이 빠지도록 포인터에 관한 인터넷 자료를 다 찾은것 같네요.
    그래서 포인터 공부는 많이 했네요 ㅋ

    역쉬 짱입니다. 감사해요^^~