iCAx开思网

标题: 【求助】问一个ug open 开发最基本的问题。。 [打印本页]

作者: vcreat    时间: 2004-7-8 06:41
标题: 【求助】问一个ug open 开发最基本的问题。。
大家好,我是一个刚刚接触ug open C++二次开发的新手,现在有一个最最基本的问题把我难到了。
  
ug和vc都配置好了,我用vc里面的ug open向导建立一个内部应用程序(dll)的项目。然后,vc就会给我一个模版文件,就像这样:
#include <uf.h>
#include <uf_exit.h>
#include <uf_ui.h>
#if ! defined ( __hp9000s800 ) && ! defined ( __sgi ) && ! defined ( __sun )
。。。。。。
extern "C" DllExport void ufsta( char *param, int *returnCode, int rlen )
{
    /* Initialize the API environment */
    int errorCode = UF_initialize();
  
    if ( 0 == errorCode )
    {
        /* TODO: Add your application code here */
看清华那本书上说,从这里就要把自己的程序加进去就好了。
  
/* Terminate the API environment */
        errorCode = UF_terminate();
    }
  
    /* Print out any error messages */
   &nbsprintErrorMessage( errorCode );
}
  
。。。。。。
  
我于是就想用ugopen目录下的一些范例文件试一试,我选了一个创建两个长方体然后合并的一个程序,打开发现里面并不是按照模版的样子写的,而是像这样:
  
#include....
#include.....
  
static int report (char *file, int line, char *call, int irc)
{
if (irc)
{
  char messg[133];
.....
}
  
static void do_ugopen_api (void)
{
UF_FEATURE_SIGN sign = UF_NULLSIGN;  
UF_FEATURE_SIGN sign1 = UF_POSITIVE;  
.......
  
}
  
  直接编译错误一大堆,我想应该把这个程序贴到vc创建的模版里面去吧,但是直接贴到如清华那本书上说的那个位置上,就是/* TODO: Add your application code here */后面,调试仍然是有错误,说什么static do_ugopen_api block scope illegal之类的错误。我想是不是要改写什么东西才能粘贴到模版里面去?
  
请问大家,我现在只是想看一个范例文件是如何编写并在ug中运行的,但是现在即使用ugopen里面的范例都调试不过去,真是束手无策了,zzz版主讲的是uistyle.好像也不适合这个相关。。。。新手一个,还请大家帮忙,看大家都讨论些很高深的问题,这个一定不是什么问题了,但是对我来说,就是目前最大的问题了。。。。。。。。谢谢先
作者: tari    时间: 2004-7-8 10:10
把系统的创建的模板文件去掉,再添加范例文件试试
作者: korpreen    时间: 2004-7-8 22:56
extern "C" DllExport void ufsta( char *param, int *returnCode, int rlen )
{
  UF_FEATURE_SIGN sign=UF_NULLSIGN;
UF_FEATURE_SIGN sign1=UF_POSITIVE;
double block_orig[3]={0.0,0.0,0.0};
double block_orig1[3]={0.0,0.0,2.5};
char *block_len[3]={"1","2","3"};
char *block_len1[3]={"1", "1", "1"};
tag_t blk_obj;
tag_t blk1_obj;
UF_initialize();
UF_MODL_create_block1(sign,block_orig,block_len, [$blk_obj)]
UF_MODL_create_block1(sign1,block_orig1,block_len1, [$blk1_obj)]
UF_terminate();
  
}
  
用的时候先建立一个part文件 然后执行*.dll 就可以了
作者: korpreen    时间: 2004-7-8 23:10
忘了说了 你需要把#include <uf_modl.h>加入头文件的要不然tag_t是不认的




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3