XLL+ Class Library (7.0)

CXlOper::GetCount2() Example

CopyC++
//{{XLP_SRC(OperGetCountExample) 
    // NOTE - the FunctionWizard will add and remove mapping code here. 
    //    DO NOT EDIT what you see in these blocks of generated code! 
 
#pragma region OperGetCountExample support code
IMPLEMENT_XLLFN4(OperGetCountExample, OperGetCountExample_4, 
    OperGetCountExample_12, "RP", "UQ", L"OperGetCountExample", 0, L"Arg1", 0, 
    L"Example", 0, L"Demonstrates COper::GetCount()", 0, L"Argument 1\0", 0, 0, 
    L"{OperGetCountExample,,,Demonstrates COper::GetCount(),Example,1,128,U,{{"
    L"0,{Arg1,Value,0,,Argument 1,,,,}}},{},3,,0,0,,,,0,0}", 1, 0, 0)
CXlOper* OperGetCountExample_Impl(CXlOper&, const CXlOper*);
extern "C" __declspec(dllexport)
LPXLOPER12 OperGetCountExample_12(LPXLOPER12 Arg1)
{
    XLL_FIX_STATE;
    CXlOper xloResult, Arg1__port(Arg1);
    try {
        CXlStructuredExceptionHandler _seh_;
        xloResult.HandleResult(OperGetCountExample_Impl(xloResult, &Arg1__port));
    }
    catch(const CXlRuntimeException& ex) {
        CXllApp::Instance()->DisplayException(xloResult, ex);
    }
    XLP_CATCH_CLR_EXCEPTIONS_TO(xloResult)
    return xloResult.Ret12();
}
extern "C" __declspec(dllexport)
LPXLOPER4 OperGetCountExample_4(LPXLOPER4 Arg1)
{
    XLL_FIX_STATE;
    CXlOper xloResult, Arg1__port(Arg1);
    try {
        CXlStructuredExceptionHandler _seh_;
        xloResult.HandleResult(OperGetCountExample_Impl(xloResult, &Arg1__port));
    }
    catch(const CXlRuntimeException& ex) {
        CXllApp::Instance()->DisplayException(xloResult, ex);
    }
    XLP_CATCH_CLR_EXCEPTIONS_TO(xloResult)
    return xloResult.Ret4();
}

#pragma endregion

CXlOper* OperGetCountExample_Impl(CXlOper& xloResult, const CXlOper* Arg1)
{
    // End of generated code 
//}}XLP_SRC 
 
    // Note: there is no long integer type for an XLOPER,  
    //       so we convert the count to a double.
    xloResult = (double)Arg1->GetCount2();
    return xloResult.Ret();
}

Uses

CXlOper::GetCount2