enuSpace professional 2016 기준

enuSpace SDK를 이용한 동적 변수 생성 및 관리


응용 프로그램에서 변수를 생성하고 생성된 변수를 업데이트 수행하기 위한 인터페이스 API에 대하여 설명한다. (통합그래픽 편집기에서 제공되는 변수 추가 인터페이스 방법 별도참조)


변수 생성

아래는 샘플 코드는 전역 변수 생성/변경/확인 예시를 보여준다.


C++ 


#include <SvgDefine.h>

#include <enuLibrary.h>


BOOL CSampleDlg::OnInitDialog()

{

HPROJECT m_SpadeProject = enuCreateProject();

enuLoadProjectFile(L"Sample\\Sample.enup");


HSVG pSvgHandler = enuGetGlobalClass(L"global\\global.svg");

enuAddGlobalVariable(L"global\\global.svg", L"int", L"g_iGlobalCount", L"golbal count variable");


HNODE hNode = enuGetGlobalVariableNode(L"g_iGlobalCount");

if (hNode)

{

enuSetVariableValue(pSvgHandler, L"g_iGlobalCount", L"10");


VariableStruct Data;

enuGetAttributeByNode(pSvgHandler, hNode, L"variable", &Data);

AfxMessageBox(Data.strValue);    // 출력 : g_iGlobalCount


enuGetAttributeByNode(pSvgHandler, hNode, L"value", &Data);

AfxMessageBox(Data.strValue););    // 출력 : 10

}


return TRUE; 

}



enuAddGlobalVariable();

기본 프로젝트를 생성하고 나면, global 파일(global\global.svg)이 기본 생성된다. 생성된 global 파일에 전역변수를 추가하고자 하는 경우에 위 함수를 호출하여 동적으로 생성할 수 있다. 변수가 정상적으로 생성되었을 경우, 리턴 값을 true를 반환한다.

Variable Type

Description

bool

Boolean 변수

int

Integer 변수

float

Float 변수

double

Double 변수

wchar

Wide char 문자열 변수


enuGetGlobalClass();

본 함수는 파일이름을 통하여 글로벌 클래스의 핸들을 취득하는 함수이다. 정상적으로 핸들을 취득하였을 경우에는 핸들을 리턴 수행하며, 요청한 클래스의 핸들을 취득하지 못하였을 경우 NULL값을 반환한다.


enuSetGlobalValue();

본 함수는 전역변수의 값을 외부 코드상에서 변경하고자 할 경우에 사용하는 인터페이스 함수이다.


enuSetVariableValue()

본 함수는 SVG 핸들러를 이용하여 변수의 값을 변경하는 함수이다.


enuSetAttributeByNode()

본 함수는 SVG 노드의 속성값을 변경하는 함수이며, 각 노드의 타입 정보에 따라서 입력되는 파라미터의 정보가 달라진다.


enuGetAttributeByNode()

본 함수는 노드의 속성값을 반환받는 함수이며, 각 노드의 타입 정보에 따라서 입력되는 파라미터의 정보가 달라진다.

struct VariableStruct

Description

type

리턴된 결과의 타입 정보

pValue

리턴된 결과의 메모리 주소

strValue

리턴된 결과의 문자열 결과 값


+ Recent posts