728x90

안녕하세요. 공유민입니다.

C와 VB에서 서로 자료형이 맞지 않을 때 맞추는 방법을 정리하려 합니다.





C To VB




 C DataType

 VB DataType

in VB Call function 

Char*  var 

ByVal var As String 

var 

BYTE** var

ByRef var As Long 

VarPtr(var) 

int*   var

ByVal var As Long 

VarPtr(var) 

int*   var

ByRef var As Long 

var 

BYTE*  var 

ByRef var As Any 

var(0) 




C DataType : C 에서 함수 선언 시 사용되는 자료형을 말합니다.

VB DataType : VB에서 함수 선언 시 사용되는 자료형을 말합니다.

in VB Call function : VB에서 함수 호출 시 사용하는 자료형을 말합니다.





Examples



1
2
3
4
5
6
// C DataType
int C_Function(
    char*   AAA,  
    BYTE**  BBB,   
    int*    CCC,
}
cs
이 C 함수를 VB에서 사용하려면



1
2
3
4
' VB DataType
Declare Function C_Function Lib "aaa.dll" (ByVal AAA As String, _
                                           ByRef BBB As Long, _ 
                                           ByRef CCC As Long) As Long
cs
C_Function이 aaa.dll에 있는 함수라고 가정하고 선언한 소스입니다.



이를 사용하는 쪽에서는 

1
2
3
4
5
6
7
' in VB Call Function
Dim result     As Long
Dim param1     As String
Dim param2     As Long
Dim param3     As Long
 
result = C_Function(param1, param2, param3)
cs
이런 식으로 사용하게 됩니다.








+ Recent posts