![]() | Programming Guide | WideStudio/MWT Index Table of contents |
°´Ã¼ÀÇ ¼Ó¼ºÁö¸¦ Ãëµæ/ ¼³Á¤Çϱ⿡´Â
À̺¥Æ® ÇÁ·Î½ÃÀú¿¡ÀÖ¾î¼, °´Ã¼ÀÇ ¼Ó¼º¿¡´ëÇÏ¿© Á¢±Ù(access) ÇÒ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½ÀÇ API¸¦ »ç¿ëÇÕ´Ï´Ù.
Á¢±Ù(access) ÇÔ¼ö ±â´É getProperty() ¼Ó¼ºÁöÀÇ Ãëµæ setProperty() ¼Ó¼ºÁöÀÇ ¼³Á¤ ¼Ó¼ºÁöÀÇ Ãëµæ
°´Ã¼ÀÇ ¼Ó¼ºÀ» ÃëµæÇϱ⿡´Â,WSCbase Ŭ·¡½ºÀÇ ¸â¹ö ÇÔ¼öÀÎ getProperty() ÀÇ »ç¿ëÇÕ´Ï´Ù.void event_procedure(WSCbase* object){ //WSNx (X ÁÂÇ¥) ¼Ó¼ºÁöÀÇ ¹®ÀÚ¿¿¡ÀÇÇÑ Ãëµæ WSCstring x = object->getProperty(WSNx); printf("x=%s\n",(char*)x); //WSNy (Y ÁÂÇ¥) ¼Ó¼ºÁöÀÇ Ãëµæ short y = object->getProperty(WSNy); }WSNx ÀÇ ¿¹·Î´Â, ¹®ÀÚ¿·Î °ªÀ» ÃëµæÇϰíÀÖ½À´Ï´Ù. ¹®ÀÚ¿ Ŭ·¡½º WSCstring ´Â, ³»ºÎ¿¡¼ ¹®ÀÚ¿ ¿µ¿ªÀÇ °ü¸®¸¦ ÀÚµ¿ÀûÀ¸·Î Çϱ⿡, ÇÁ·Î±×·¡¸Ó°¡ °ü¸®ÇÒ Çʿ䰡 ¾øÀ¾´Ï´Ù.
WSNy ÀÇ ¿¹·Î´Â,¼öÁöÇüÀ¸·Î ¹Þ¾Æµå·ÁÀÖ½À´Ï´Ù. ÇÔ¼ö getProperty() ´Â, WSCvariant ÇüÀ¸·Î °ªÀ» µ¹¸®³ª,WSCvariant ÇüÀº,°¢°¢ÀÇ º¯¼öÇüÀ¸·Î ÀÚµ¿ÀûÀ¸·Î Çüº¯È¯µË´Ï´Ù. µû¶ó¼, Çüº¯È¯À» WSCvariant ÇüÀÌ Çϱ⿡,ÇÁ·Î±×·¡¸Ó°¡ °ÆÁ¤ÇÒÇʿ䰡 ¾øÀ¾´Ï´Ù.
´ÙÀ½ ¿¹´Â,Á¤¼öÇü¿¡¼, ¹®ÀÚ¿ÇüÀ¸·Î º¯È¯µÇ´Â°ÍÀÔ´Ï´Ù.void cbop(WSCbase* object){ //WSNx (X ÁÂÇ¥) ¼Ó¼ºÁöÀÇ ¹®ÀÚ¿¿¡ÀÇÇÑ Ãëµæ WSCstring x = object->getProperty(WSNx); printf("x=%s\n",(char*)x); //WSNy (Y ÁÂÇ¥) ¼Ó¼ºÁöÀÇ Ãëµæ short y = object->getProperty(WSNy); //Á¤¼öÇüÀ» ¹®ÀÚ¿·Î º¯È¯ WSCvariant stry = y; printf("y=%s\n",(char*)stry); //VARIANT ÇüÀ» ºÎµ¿¼Ò¼öÁ¡ÇüÀ¸·Î º¯È¯ printf("y=%fl\n",(double)stry); }¼Ó¼ºÁö¸¦, ¹®ÀÚ¿·Î ÃëµæÇÒ °æ¿ìÀÇ ÁÖÀÇÁ¡Àº, char* ·Î Á÷Á¢ ÃëµæÇØ¼´Â ¾ÈµË´Ï´Ù.
char* ¹®ÀÚ¿¸¦ ÃëµæÇÒ °æ¿ì´Â, ¾Æ·¡ÀÇ ¿¹¿Í °°ÀÌ ÀÏ´Ü,WSCstring À¸·Î ÃëµæÇØ¼, char* ¹®ÀÚ¿·Î Ãëµæ ÇØ ÁֽʽÿÀ. ÀÏ´Ü,WSCstring ·Î Ãëµæ ÇÔÀ¸·Î¼, char* ¹®ÀÚ¿ ¿µ¿ªÀÌ WSCstring ³»¿¡ È®º¸µÇ¿©, ÂüÁ¶°¡´ÉÇØ°Ô µË´Ï´Ù.
Ʋ¸° ¿¹Ã³·³, Á÷Áý char* ·Î ÃëµæÇϸé, getProperty °¡ µ¹·Á³õÀº WSCvariant °¡ º¸ÁöµÉ°Í¾øÀÌ °³¹æµÇ±â¿¡, ÃëµæÇÑ char* °¡ °ð ¹«È¿·Î µË´Ï´Ù. ÀÌ ¹«È¿¿µ¿ªÀ¸·ÎµÈ char* ¿¡ Á¢±Ù(access)Çϸé, segmentation fault ¸¦ ÀÏÀ¸Åµ´Ï´Ù.void event_procedure(WSCbase* object){ //WSNlabelString Ç¥½Ã ¹®ÀÚ¿ ¼Ó¼ºÀÇ ¹®ÀÚ¿¿¡ÀÇÇÑ Ãëµæ //ÇØ¼´Â ¾ÈµÇ´Â ¿¹ char* string = object->getProperty(WSNlabelString); //WSNlabelString Ç¥½Ã ¹®ÀÚ¿ ¼Ó¼ºÀÇ ¹®ÀÚ¿¿¡ÀÇÇÑ Ãëµæ //ÁÁÀº ¿¹ WSCstring string1 string1 = object->getProperty(WSNlabelString); char* str = (char*)string1; }¼Ó¼ºÁöÀÇ ¼³Á¤
°´Ã¼ÀÇ ¼Ó¼ºÀ» ¼³Á¤Çϱ⿡´Â WSCbase Ŭ·¡½ºÀÇ ¸â¹ö ÇÔ¼öÀÎ setProperty() ¸¦ »ç¿ëÇÕ´Ï´Ù.´ÙÀ½ ¿¹´Âvoid event_procedure(WSCbase* object){ //WSNx (X ÁÂÇ¥) ¼Ó¼ºÀÇ ¹®ÀÚ¿¿¡ÀÇÇÑ ¼³Á¤ char* x="100"; object->setProperty(WSNx,x); //WSNy (Y ÁÂÇ¥) ¼Ó¼ºÀÇ ¼³Á¤ short y=100; object->setProperty(WSNy,y); }WSNx ÀÇ ¿¹·Î´Â ¹®ÀÚ¿·Î °ªÀ» ¼³Á¤ÇϰíÀÖ½À´Ï´Ù.WSNy ÀÇ ¿¹·Î´Â Á¤¼öÇüÀ¸·Î °ªÀ» ¼³Á¤ÇϰíÀÖ½À´Ï´Ù. ÇÔ¼ö setProperty() ´Â,WSCvariant ÇüÀ» Àμö·ÎÇÕ´Ï´Ù. µû¶ó¼ ¿©·ÎÇüÀ» ÀÚµ¿ÀûÀ¸·Î Çüº¯È¯Çؼ ¹Þ¾Æµå¸±¼öÀÖ½À´Ï´Ù. ÇÁ·Î±×·¡¸Ó´Â ÇüÀ» °ÆÁ¤¸»°í Á¢±Ù(access)ÇÒ¼öÀÖ½À´Ï´Ù.
¼Ó¼ºÁöÀÇ ¹¦È¿¡ÀÇ ¹Ý¿µ
º¸Åë, À̺¥Æ® ÇÁ·Î½ÃÀúÀÇ ½ÇÇàÁ÷ÈÄ¿¡ ¹Ý¿µµÇ³ª, º¯°æÈÄ, ¼Ó¼ºÀÇ °ªÀ» Áï½Ã ¹Ý¿µÇÒ °æ¿ì,update(),draw(),redraw() ¸¦ È£ÃâÇÕ´Ï´Ù.
À©µµ¿ì ½Ã½ºÅÛ¿¡ µû¶ó¼´Â ( ¿¹ÄÁµ¥ X11 ½Ã½ºÅÛÀÇ °æ¿ìµî) ¹¦È ¸¦ ÇѶ§, Áï½Ã´Â À©µµ¿ì ½Ã½ºÅÛ¿¡ ¹Ý¿µ¾ÈµÉ °æ¿ì°¡ ÀÖ½À´Ï´Ù. ±×·² °æ¿ì´Â WSDappDev Ŭ·¡½ºÀÇ update() ¸¦ È£ÃâÇØÁֽʽÿÀ.#include <WSDappDev.h> void event_procedure(WSCbase* object){ obj1->getProperty(WSNlabelString," ÅýºÆ®"); obj1->update(); //Áï½Ã °´Ã¼¸¦ °»½Å. WSGIappDev()->update(); // À©µµ¿ì ½Ã½ºÅÛ¿¡·Î ¹¦È¿ä±¸¸¦ ¹Ý¿µÇÕ´Ï´Ù. obj2->getProperty(WSNlabelString," ÅýºÆ®"); obj2->update(); //Áï½Ã ¹¦ÈµÈ´Ù. WSGIappDev()->update(); // À©µµ¿ì ½Ã½ºÅÛ¿¡·Î ¹¦È¿ä±¸¸¦ ¹Ý¿µÇÕ´Ï´Ù.
Copyright(C) WideStudio/MWT Development Team, 1999-2005 | Last modified: Jul 31, 2005 |