一线天001 发表于 2012-8-13 20:32:25

VC6.0编译 对话框 无法生成.dll文件

我用VC6.0编译UISTYLER对话框的时候总是出现这样的情况,无法生成.dll文件,很是郁闷,求高手指教:

zhengtichicun.cpp
f:\zhengtichicun\zhengtichicun.h(63) : error C2061: syntax error : identifier 'UF_STYLER_item_value_type_p_t'
f:\zhengtichicun\zhengtichicun.h(67) : error C2061: syntax error : identifier 'UF_STYLER_item_value_type_p_t'
f:\zhengtichicun\zhengtichicun.h(71) : error C2061: syntax error : identifier 'UF_STYLER_item_value_type_p_t'
f:\zhengtichicun\zhengtichicun.h(75) : error C2061: syntax error : identifier 'UF_STYLER_item_value_type_p_t'
f:\zhengtichicun\zhengtichicun.h(79) : error C2061: syntax error : identifier 'UF_STYLER_item_value_type_p_t'
f:\zhengtichicun\zhengtichicun.h(83) : error C2061: syntax error : identifier 'UF_STYLER_item_value_type_p_t'
f:\zhengtichicun\zhengtichicun.cpp(98) : error C2146: syntax error : missing ';' before identifier 'DUANLIANG_cbs'
f:\zhengtichicun\zhengtichicun.cpp(98) : fatal error C1004: unexpected end of file found
补充:在其他电脑编译却能生成.dll文件

haoyuan366 发表于 2012-8-13 20:35:54

深奥的东西·等待高人来解决{:victory:}

hqu8808* 发表于 2012-8-13 22:28:36

看起来貌似是语法错误
楼主是不是在变量后面少了分号啊

hy19491001 发表于 2012-8-13 22:59:10

楼主,不论什么情况你一定要hold住!hold住就是胜利!

一线天001 发表于 2012-8-14 20:18:06

hqu8808 发表于 2012-8-13 22:28 static/image/common/back.gif
看起来貌似是语法错误
楼主是不是在变量后面少了分号啊

改了,在别人的电脑里可以编译成功,我估计是我装的VC有问题,但不确定。你说的语法错误也有可能。有没有人能帮忙一下啊

一线天001 发表于 2012-8-14 20:19:02

hy19491001 发表于 2012-8-13 22:59 static/image/common/back.gif
楼主,不论什么情况你一定要hold住!hold住就是胜利!

还是谢谢{:handshake:}

hqu8808* 发表于 2012-8-14 20:29:15

一线天001 发表于 2012-8-14 20:18 static/image/common/back.gif
改了,在别人的电脑里可以编译成功,我估计是我装的VC有问题,但不确定。你说的语法错误也有可能。有没有 ...

你的UG是那个版本的啊··

一线天001 发表于 2012-8-14 20:40:59

hqu8808 发表于 2012-8-14 20:29 static/image/common/back.gif
你的UG是那个版本的啊··

6.0。我把程序弄上

一线天001 发表于 2012-8-14 20:43:09

一线天001 发表于 2012-8-14 20:40 static/image/common/back.gif
6.0。我把程序弄上

int DUANLIANG_constructor_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 ----- */
double arExpValue;

        for(int i=0;i<10;i++)
                arExpValue=0.0f;
   
        UF_MODL_eval_exp("Lenth",&arExpValue);
        UF_MODL_eval_exp("Hight",&arExpValue);
        UF_MODL_eval_exp("Width",&arExpValue);
        UF_MODL_eval_exp("H1",&arExpValue);
        UF_MODL_eval_exp("R",&arExpValue);
        UF_MODL_eval_exp("L",&arExpValue);
        UF_MODL_eval_exp("thick_a",&arExpValue);
        UF_MODL_eval_exp("thick_b",&arExpValue);
        UF_MODL_eval_exp("thick_c",&arExpValue);
        UF_MODL_eval_exp("thick_d",&arExpValue);

UF_STYLER_item_value_type_t data_set;

    data_set.item_attr=UF_STYLER_VALUE;
    data_set.item_id=DUANLIANG_LENTH;
        data_set.value.real=arExpValue;
        UF_STYLER_set_value(dialog_id,&data_set);
    UF_STYLER_free_value(&data_set);

        data_set.item_attr=UF_STYLER_VALUE;
    data_set.item_id=DUANLIANG_HIGHT;
        data_set.value.real=arExpValue;
        UF_STYLER_set_value(dialog_id,&data_set);
    UF_STYLER_free_value(&data_set);

        data_set.item_attr=UF_STYLER_VALUE;
    data_set.item_id=DUANLIANG_WIDTH;
        data_set.value.real=arExpValue;
        UF_STYLER_set_value(dialog_id,&data_set);
    UF_STYLER_free_value(&data_set);
       
        data_set.item_attr=UF_STYLER_VALUE;
    data_set.item_id=DUANLIANG_H1;
        data_set.value.real=arExpValue;
        UF_STYLER_set_value(dialog_id,&data_set);
    UF_STYLER_free_value(&data_set);

        data_set.item_attr=UF_STYLER_VALUE;
    data_set.item_id=DUANLIANG_R;
        data_set.value.real=arExpValue;
        UF_STYLER_set_value(dialog_id,&data_set);
    UF_STYLER_free_value(&data_set);

        data_set.item_attr=UF_STYLER_VALUE;
    data_set.item_id=DUANLIANG_L;
        data_set.value.real=arExpValue;
        UF_STYLER_set_value(dialog_id,&data_set);
    UF_STYLER_free_value(&data_set);

        data_set.item_attr=UF_STYLER_VALUE;
    data_set.item_id=DUANLIANG_THICK_A;
        data_set.value.real=arExpValue;
        UF_STYLER_set_value(dialog_id,&data_set);
    UF_STYLER_free_value(&data_set);
       
        data_set.item_attr=UF_STYLER_VALUE;
    data_set.item_id=DUANLIANG_THICK_B;
        data_set.value.real=arExpValue;
        UF_STYLER_set_value(dialog_id,&data_set);
    UF_STYLER_free_value(&data_set);

        data_set.item_attr=UF_STYLER_VALUE;
    data_set.item_id=DUANLIANG_THICK_C;
        data_set.value.real=arExpValue;
        UF_STYLER_set_value(dialog_id,&data_set);
    UF_STYLER_free_value(&data_set);
       
        data_set.item_attr=UF_STYLER_VALUE;
    data_set.item_id=DUANLIANG_THICK_D;
        data_set.value.real=arExpValue;
        UF_STYLER_set_value(dialog_id,&data_set);
    UF_STYLER_free_value(&data_set);

   UF_terminate ();

    /* Callback acknowledged, do not terminate dialog */
    return (UF_UI_CB_CONTINUE_DIALOG);
    /* A return value of UF_UI_CB_EXIT_DIALOG will not be accepted    */
    /* for this callback type.You must continue dialog construction.*/

}
这是析构函数的回调函数

一线天001 发表于 2012-8-14 20:43:55

一线天001 发表于 2012-8-14 20:43 static/image/common/back.gif
int DUANLIANG_constructor_cb ( int dialog_id,
             void * client_data,
             UF_S ...

下面是ok按钮的回调函数
int DUANLIANG_ok_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 ----- */
   double Lenth;
       double Hight;
       double Width;
       double H1;
       double R;
       double L;
   double thick_a;
       double thick_b;
       double thick_c;
       double thick_d;

       char exps_string;

   UF_STYLER_item_value_type_t data;

       data.item_attr=UF_STYLER_VALUE;
       data.item_id=DUANLIANG_LENTH;
   UF_STYLER_ask_value(dialog_id,&data);

       data.item_attr=UF_STYLER_VALUE;
       data.item_id=DUANLIANG_HIGHT;
   UF_STYLER_ask_value(dialog_id,&data);

       data.item_attr=UF_STYLER_VALUE;
       data.item_id=DUANLIANG_WIDTH;
   UF_STYLER_ask_value(dialog_id,&data);

       data.item_attr=UF_STYLER_VALUE;
       data.item_id=DUANLIANG_H1;
   UF_STYLER_ask_value(dialog_id,&data);

       data.item_attr=UF_STYLER_VALUE;
       data.item_id=DUANLIANG_R;
   UF_STYLER_ask_value(dialog_id,&data);

       data.item_attr=UF_STYLER_VALUE;
       data.item_id=DUANLIANG_L;
   UF_STYLER_ask_value(dialog_id,&data);

       data.item_attr=UF_STYLER_VALUE;
       data.item_id=DUANLIANG_THICK_A;
   UF_STYLER_ask_value(dialog_id,&data);
   
       data.item_attr=UF_STYLER_VALUE;
       data.item_id=DUANLIANG_THICK_B;
   UF_STYLER_ask_value(dialog_id,&data);

       data.item_attr=UF_STYLER_VALUE;
       data.item_id=DUANLIANG_THICK_C;
   UF_STYLER_ask_value(dialog_id,&data);
   
       data.item_attr=UF_STYLER_VALUE;
       data.item_id=DUANLIANG_THICK_D;
   UF_STYLER_ask_value(dialog_id,&data);

       Lenth=data.value.real;
       Hight=data.value.real;
       Width=data.value.real;
       H1=data.value.real;
       R=data.value.real;
       L=data.value.real;
       thick_a=data.value.real;
       thick_b=data.value.real;
       thick_c=data.value.real;
       thick_d=data.value.real;

       for(int i=0;i<10;i++)
       {
             UF_STYLER_free_value(&data);
       }

       //修改表达式的值
       sprintf(exps_string,"Lenth=%f",Lenth);
   sprintf(exps_string,"Hight=%f",Hight);
   sprintf(exps_string,"Width=%d",Width);
       sprintf(exps_string,"H1=%f",H1);
       sprintf(exps_string,"R=%f",R);
       sprintf(exps_string,"L=%f",L);
   sprintf(exps_string,"thick_a=%f",thick_a);
       sprintf(exps_string,"thick_b=%f",thick_b);
   sprintf(exps_string,"thick_c=%f",thick_c);
       sprintf(exps_string,"thick_d=%f",thick_d);
       //更新模型
       for(int j=0;j<10;j++)
       {
               UF_MODL_edit_exp(exps_string);
             UF_MODL_update();
       }

   UF_terminate ();

    /* Callback acknowledged, terminate dialog             */
    /* It is STRONGLY recommended that you exit your       */
    /* callback with UF_UI_CB_EXIT_DIALOG in a ok callback.*/
    /* return ( UF_UI_CB_EXIT_DIALOG );                  */
    return (UF_UI_CB_EXIT_DIALOG);                           

}

页: [1] 2
查看完整版本: VC6.0编译 对话框 无法生成.dll文件