Link Search Menu Expand Document

void enuGetVariablePointer(HSVG pSvgHandler, wchar_t* pStrVariable, VariableStruct* pData)

void enuGetVariablePointer(HSVG pSvgHandler, wchar_t* pStrVariable, VariableStruct* pData)

Parameters

Type : HSVG

페이지 핸들을 전달합니다.

Return Value

Type : wchar_t* strVariable

픽쳐파일 내부의 변수를 지정합니다.

Type : VariableStruct* pData

변수의 정보를 반환받고자하는 구조체의 주소값을 지정합니다.

Remarks

변수구조체를 생성하고, 주소값을 전달하면 해당 변수의 메모리 주소, 타입 정보를 반환받습니다.

Examples

struct VariableStruct
{
	wchar_t name[DEF_NAME_LEN];
	int     type;
	void*   pValue;
	wchar_t strValue[DEF_MAXTEXT_LEN];
	arrayInfo array;

public :VariableStruct()
		{
			wcscpy_s(name, L"");			// [ver.56] add : 초기화 추가.
			type = DEF_UNKNOWN;
			pValue = NULL;
			wcscpy_s(strValue, L"N/A");
		}
};

HVIEW ViewHandle = NULL; 
void CSampleView::OnInitialUpdate() 
{ 
    CView::OnInitialUpdate(); 

    enuCreateProject(); 

    // Load Project
    enuLoadProjectFile(L"Project\\sample.enup"); 

    // Create View
    ViewHandle = enuCreateView(this->m_hWnd); 

    // New Page Create. 
    CString strPicture = L"picture\\KoreaAIP.svg"; 
    HSVG SvgHandle = enuNewSvgPageFile(strPicture.GetBuffer(0)); 

    // ENU View Attach Set Page 
    enuSetSvgPageView(ViewHandle , strPicture.GetBuffer(0)); 

    // get picture handle
    HSVG hsvg = enuGetSvgHandler(ViewHandle )

    // set variable value
    enuSetVariableValue(hsvg, L"@OCEAN.I_BU", strValue.GetBuffer(0))
    
    VariableStruct data;
    enuGetVariablePointer(hsvg, L"@OCEAN.data", &data);
    
    // 주소값이 NULL이 아닌경우, 정상적으로 반환.
    if (data.pValue)    
    {
        if (data.type == DEF_DOUBLE)
        {
            // 메모리 주소값에 값 할당.
            *((double*)data.pValue) = 100.0f;
        }
    }
}