C++/CLI 데이터 타입에 따른 리턴값, 파라미터 처리 (ActvieX ↔ C++/CLI ↔ C#)
※ C#에서 호출시 C++/CLI 에서 리턴값, 파라미터값은 다음과 같이 처리합니다.
[ String - BSTR (LPCTSTR) ]
// ex: Set
bool SetTestString(String^ strTestString)
{
axTestCtrl1->TestString= strTestString;
return true;}
// ex: Get
String^ GetTestString()
{
return axTestCtrl1->TestString;
}
[ short, int, long ]
: short, int, long 형은 그냥 주고 받으면 됩니다.
// ex: Set
bool SetShortVal(short nShortVal)
{
axTestCtrl1->ShortVar = nShortVal;
return true;
}// ex: Get
short GetShortVal()
{
return axTestCtrl1->ShortVal;
}
[ struct ]
// ex: 참조 가능한 구조체 선언
ref struct EocsTestStruct
{
String^ eocsstrVal;
short eocsnVal;
long eocslnVal;
}
// ex: 구조체를 파라미터로 받아서 Set
bool SetEocsTestStruct(EocsTestStruct^% EocsTest)
{
try
{
axTestCtrl1->ShortVar = nShortVal;axTestCtrl1->eocsstrVal= EocsTest->eocsstrVal;
axTestCtrl1->eocsnVal= EocsTest->eocsnVal;
axTestCtrl1->eocslnVal= EocsTest->eocslnVal;
return true;}
catch (Exception^ e)
{
MessageBox::Show(e->Message);
return false;
}
}
...
... ING ... : 다른 케이스도 작업하다가 정리할 예정입니다.
...
'Programming > C++/CLI' 카테고리의 다른 글
Native C++에서 Managed C++에 접근이 필요할 때 (0) | 2010.11.09 |
---|---|
C++/CLI Singleton (0) | 2010.10.22 |
[Step.02-2] 클래스(class), 핸들(^), 그리고 구조체(struct) (0) | 2010.10.05 |
[Step 02-1] 클래스(class), 핸들(^), 그리고 구조체(struct) (0) | 2010.10.05 |
C + + 프로그래머를위한 C + + / CLI 소개 (0) | 2010.10.05 |