[질문]배열의 주소를 찾아주세요. 비베 함수 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
***인터넷 사방팔방 뒤져서 찾아서 갖가지 방법을 다 해 봤는데, 제대로된 값을 못 가져오는것 같은데요.
지금은 모니터를 뚜러지게 쳐다봐서 눈이 너무 아파요 ^^
아시는 분은 좀 도와 주세요. ^^
다만 VB와 Delphi에서 2차원배열은 행,열이 반대입니다.
Array[0..MAX_TEMPLATE_NUM - 1, 0..MAX_TEMPLATE_SIZE - 1] of Byte;