iCAx开思工具箱

标题: 请教UG的UDO问题 [打印本页]

作者: xiaoyuily    时间: 2007-5-17 17:18
标题: 请教UG的UDO问题
按照Document里面的例子,标准的UDO是要创建两个dll的,有一个是放在UGII_USER_DIR\UDO文件夹(第一个dll)下,另外一个是放在UGII_USER_DIR\Application文件夹下(第二个dll)。

而第二个dll要用到第一个dll里面的输出函数,我不知道怎么加载将第一个dll加载到第二个dll里面去?(document里面有三个文件:ufx_udo.h,ufx_udo_application.c, ufx_udo_methods.c。
我用ufx_udo.h,ufx_udo_methods.c编译生成的dll放在UDO里面,ufx_udo.h,ufx_udo_application.c编译生成的dll放在Application里面,但不知道怎么调用第一个dll里面的函数。)
--------------------Configuration: UdoObject - Win32 Debug--------------------
Linking...
   Creating library Debug/UdoObject.lib and object Debug/UdoObject.exp
ufx_udo_application.obj : error LNK2001: unresolved external symbol _UFX_UDO_ask_view_center_dll
ufx_udo_application.obj : error LNK2001: unresolved external symbol _UFX_UDO_get_note_vw_class
ufx_udo_application.obj : error LNK2001: unresolved external symbol _UFX_UDO_ask_all_view_data_dll
ufx_udo_application.obj : error LNK2001: unresolved external symbol _UFX_UDO_set_Metric
Debug/UdoObject.dll : fatal error LNK1120: 4 unresolved externals
Error executing link.exe.

想请教大家,另外,如果有一些UDO的例子方便公开的,希望能发过来,不胜感谢!


作者: lingpeng    时间: 2007-5-18 08:58
我在UDO上也走了不少弯路,存放在UDO文件夹里面的DLL文件一般是创建UDO类和注册响应函数,在UG启动的时候调用。需要调用ufx_udo_methods.c里面的函数首先要将函数声明为extern外部函数,然后在编译ufx_udo_application.c的时候加上ufx_udo_methods.lib文件(编译ufx_udo_methods.c文件后产生的),具体设置为工具-选项-目录-library files-ufx_udo_methods.lib文件路径。另外在工程-设置-连接-对象、库模块-加上ufx_udo_methods.lib就可以了




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