본문 바로가기

프로그래밍

VB6 에서 변수의 주소알기

요즘도 VB6을 사용하는 사람이 있는지는 모르겠지만 간단한 프로그램같은건 그냥 VB6으로 만드는게 훨씬 간편하다.

게다가 요즘나오는 윈도우에는 VB6 런타임 라이브러리가 내장되어있으니 그냥 exe파일만 있으면 그냥 돌아간다.

아!. 한국어판 VB를 사용하면 리소스파일인 vb6ko.dll을 찾는 경우가 있으니 영문판으로 빌드하면 그나마 vb6ko.dll도 찾지 않는다.

보통 VB는 고수준의 언어이기때문에 포인터(어드레스)를 쓸일이 거의 없긴하다.

그래도 간혹 윈도우 API와 같은걸 사용하다 보면 특정변수의 주소를 알아야할 필요가 생기기도 한다.

다음의 다섯가지형태로 주소를 알아낼수 있다.


--------------------------------------------------
VarPtr - 변수의 주소를 반환합니다.
VarPtrArray - 배열의 주소를 반환합니다.
StrPtr - 유니코드 문자열 버퍼의 주소를 반환합니다.
VarPtrStringArray - 주소의 문자열 배열 반환합니다.
ObjPtr - 개체 변수가 참조하는 인터페이스 포인터를 반환합니다.
----------------------------------------------------

자세한 내용은 마이크로소프트 홈페이지에서 찾을수 있다.


http://support.microsoft.com/kb/199824


요즘은 영문문서가 자동번역되어서 제공되는 모양이다. 위문서 상단에보면



메모리 주소 같은 변수에 대한 낮은 수준 정보를 얻기 위해 필요한 Visual Basic 프로그래머가 일반적이지 않은 것입니다. 그러나 이러한 정보가 필요로 하는 API 함수도 있습니다. 이 문서에서는 Visual Basic 프로그래머는 이 정보를 얻을 수 있도록 다음 Visual Basic 함수를 설명합니다.



라고 되어있는데 어쩐지 문맥이 좀 이상하다 싶었다.

어찌되었던 비베에서 어드레스를 넘길수 있다는사실..  


비베를 써봤던 사람은 다 알고 있을려나...