MfcControlCtl.cpp
This commit is contained in:
@@ -40,11 +40,11 @@ BEGIN_DISPATCH_MAP(CMfcControlCtrl, COleControl)
|
|||||||
DISP_FUNCTION(CMfcControlCtrl, "inDouble", inDouble, VT_R8, VTS_R8)
|
DISP_FUNCTION(CMfcControlCtrl, "inDouble", inDouble, VT_R8, VTS_R8)
|
||||||
DISP_FUNCTION(CMfcControlCtrl, "inVariant", inVariant, VT_VARIANT, VTS_VARIANT)
|
DISP_FUNCTION(CMfcControlCtrl, "inVariant", inVariant, VT_VARIANT, VTS_VARIANT)
|
||||||
DISP_FUNCTION(CMfcControlCtrl, "inObject", inObject, VT_DISPATCH, VTS_DISPATCH)
|
DISP_FUNCTION(CMfcControlCtrl, "inObject", inObject, VT_DISPATCH, VTS_DISPATCH)
|
||||||
DISP_FUNCTION(CMfcControlCtrl, "outShort", outShort, VT_EMPTY, VTS_I2)
|
DISP_FUNCTION(CMfcControlCtrl, "outShort", outShort, VT_EMPTY, VTS_PI2)
|
||||||
DISP_FUNCTION(CMfcControlCtrl, "outLong", outLong, VT_EMPTY, VTS_I4)
|
DISP_FUNCTION(CMfcControlCtrl, "outLong", outLong, VT_EMPTY, VTS_PI4)
|
||||||
DISP_FUNCTION(CMfcControlCtrl, "outString", outString, VT_EMPTY, VTS_PBSTR)
|
DISP_FUNCTION(CMfcControlCtrl, "outString", outString, VT_EMPTY, VTS_PBSTR)
|
||||||
DISP_FUNCTION(CMfcControlCtrl, "outFloat", outFloat, VT_EMPTY, VTS_R4)
|
DISP_FUNCTION(CMfcControlCtrl, "outFloat", outFloat, VT_EMPTY, VTS_PR4)
|
||||||
DISP_FUNCTION(CMfcControlCtrl, "outDouble", outDouble, VT_EMPTY, VTS_R8)
|
DISP_FUNCTION(CMfcControlCtrl, "outDouble", outDouble, VT_EMPTY, VTS_PR8)
|
||||||
DISP_FUNCTION(CMfcControlCtrl, "outVariant", outVariant, VT_EMPTY, VTS_PVARIANT)
|
DISP_FUNCTION(CMfcControlCtrl, "outVariant", outVariant, VT_EMPTY, VTS_PVARIANT)
|
||||||
DISP_FUNCTION(CMfcControlCtrl, "outObject", outObject, VT_EMPTY, VTS_PDISPATCH)
|
DISP_FUNCTION(CMfcControlCtrl, "outObject", outObject, VT_EMPTY, VTS_PDISPATCH)
|
||||||
//}}AFX_DISPATCH_MAP
|
//}}AFX_DISPATCH_MAP
|
||||||
@@ -304,15 +304,20 @@ void CMfcControlCtrl::outDouble(double* val)
|
|||||||
|
|
||||||
void CMfcControlCtrl::outVariant(VARIANT FAR* val)
|
void CMfcControlCtrl::outVariant(VARIANT FAR* val)
|
||||||
{
|
{
|
||||||
val= (VARIANT*)CoTaskMemAlloc( sizeof( VARIANT));
|
VariantInit( val);
|
||||||
|
val->vt= VT_BSTR;
|
||||||
|
val->bstrVal= SysAllocString( L"a string in a VARIANT");
|
||||||
}
|
}
|
||||||
|
|
||||||
void CMfcControlCtrl::outObject(LPDISPATCH FAR* val)
|
void CMfcControlCtrl::outObject(LPDISPATCH FAR* val)
|
||||||
{
|
{
|
||||||
//{BFE10EBE-8584-11D4-005004526AB4}
|
//{BFE10EBE-8584-11D4-005004526AB4}
|
||||||
CLSID clsTestControl={0xBFE10EBE,0x8584,0x11D4, { 0x00,0x50,0x04,0x52,0x6A,0xB4}};
|
HRESULT hr= S_OK;
|
||||||
|
CLSID clsTestControl;
|
||||||
|
hr= CLSIDFromProgID( L"AxTestComponents.Basic", &clsTestControl);
|
||||||
|
|
||||||
IDispatch* pDisp= NULL;
|
IDispatch* pDisp= NULL;
|
||||||
HRESULT hr= CoCreateInstance( clsTestControl, NULL, CLSCTX_ALL, __uuidof(IDispatch), (void**)&pDisp);
|
hr= CoCreateInstance( clsTestControl, NULL, CLSCTX_ALL, __uuidof(IDispatch), (void**)&pDisp);
|
||||||
|
|
||||||
if( SUCCEEDED( hr) && val)
|
if( SUCCEEDED( hr) && val)
|
||||||
{
|
{
|
||||||
@@ -336,3 +341,4 @@ void CMfcControlCtrl::outObject(LPDISPATCH FAR* val)
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
// VT_I1
|
||||||
|
Reference in New Issue
Block a user