XLL+ Class Library (6.3)

CXlOper::operator CString() Example

CopyC++
//{{XLP_SRC(OperCastToStringExample) 
    // NOTE - the FunctionWizard will add and remove mapping code here. 
    //    DO NOT EDIT what you see in these blocks of generated code!
IMPLEMENT_XLLFN3(OperCastToStringExample, OperCastToStringExample, 
    OperCastToStringExample_12, "RP", "UQ", L"OperCastToStringExample", 0, 
    L"Arg1", 0, L"Example", 0, L"Demonstrates casting a COper to a CString", 0, 
    L"Argument 1\0", 0, 0, L"{OperCastToStringExample,OperCastToStringExample,"
    L",Demonstrates casting a COper to a CString,Example,1,128,U,{{0,{Arg1,Val"
    L"ue,0,,Argument 1,,,,}}},{},3,,0,0}", 1)
CXlOper* OperCastToStringExample_Impl(CXlOper&, const CXlOper*);

extern "C" __declspec(dllexport)
LPXLOPER12 OperCastToStringExample_12(LPXLOPER12 Arg1)
{
    XLL_FIX_STATE;
    CXlOper xloResult, Arg1__port(Arg1);
    try {
        CXlStructuredExceptionHandler _seh_;
        xloResult.HandleResult(OperCastToStringExample_Impl(xloResult, &
            Arg1__port));
    }
    catch(const CXlRuntimeException& ex) {
        CXllApp::Instance()->DisplayException(xloResult, ex);
    }
    return xloResult.Ret12();
}
extern "C" __declspec(dllexport)
LPXLOPER4 OperCastToStringExample(LPXLOPER4 Arg1)
{
    XLL_FIX_STATE;
    CXlOper xloResult, Arg1__port(Arg1);
    try {
        CXlStructuredExceptionHandler _seh_;
        xloResult.HandleResult(OperCastToStringExample_Impl(xloResult, &
            Arg1__port));
    }
    catch(const CXlRuntimeException& ex) {
        CXllApp::Instance()->DisplayException(xloResult, ex);
    }
    return xloResult.Ret4();
}

CXlOper* OperCastToStringExample_Impl(CXlOper& xloResult, const CXlOper* Arg1)
{
    // End of generated code 
//}}XLP_SRC

    BOOL bOk = TRUE;

    // These two lines could have condensed to one: 
    // xloResult = (CString)opArg1;
    CString s = *Arg1;
    xloResult = s;

    return xloResult.Ret();
}

Uses

CXlOper::operator CString