iCAx开思工具箱

标题: 用UIStyler二次开发出现的问题 [打印本页]

作者: spartutu    时间: 2004-10-10 11:09
标题: 用UIStyler二次开发出现的问题
按照《UG/Open API编程》中12.4节中的例子编写了程序,编译时出现如下错误:
  
F:\UG\UI styler Exercise\UISExe_template.c(413) : error C2275: 'UF_STYLER_item_value_type_t' : illegal use of this type as an expression
        c:\program files\eds\unigraphics nx\ugopen\uf_styler.h(288) : see declaration of 'UF_STYLER_item_value_type_t'
  
为什么说_STYLER_item_value_type_t是非法使用?搞不懂。请诸位大侠指点。
作者: tari    时间: 2004-10-10 14:24
头文件包含进去了没有?设置编译环境没问题吧
作者: 刘亮    时间: 2004-10-10 15:47
把它'UF_STYLER_item_value_type_t' 申明放在变量申明的最前面试试
作者: spartutu    时间: 2004-10-10 19:17
设置环境具体是怎么设置?
我的一部分代码如下:int UIEXE_cancel_cb ( int dialog_id,
             void * client_data,
             UF_STYLER_item_value_type_p_t callback_data)
{
     /* Make sure User Function is available. */   
     if ( UF_initialize() != 0)  
          return ( UF_UI_CB_CONTINUE_DIALOG );
  
     /* ---- Enter your callback code here ----- */
   uc1601("Cancel button is pressed",1);
   UF_STYLER_item_value_type_t data;
   data.item_attr = UF_STYLER_VALUE;
   data.item_id = UIEXE_INT_1;         //get the value in the edit box
   UF_STYLER_ask_value(dialog_id,[$data)]
   char message[133];
   message[0]='\0';
   sprintf(message,"now the value in the integer is %d",data.value.integer);
   uc1601(message,1);
  
     UF_terminate ();
     return ( UF_UI_CB_EXIT_DIALOG );   

作者: jon_wu    时间: 2004-10-15 19:36
在C编程里面,变量声明区和代码区是分开的,不能混用的(和C++不一样)。所以,在你的代码里面,UF_STYLER_item_value_type_t data;这一句必须放到回调函数的最前面。
作者: welchhmq    时间: 2004-10-17 12:08
仔细研究一下C语言规范,在C语言中应该把变量声明写在函数之前,一般最好在开始声明变量




欢迎光临 iCAx开思工具箱 (https://t.icax.org/) Powered by Discuz! X3.3