iCAx开思工具箱

标题: 【求助】UG API内部模式程序的调试问题 [打印本页]

作者: 云淡风清    时间: 2004-2-25 16:22
标题: 【求助】UG API内部模式程序的调试问题
在VC环境中调试,每次都要重新启动UG,速度太慢
  
所以我想先打开UG,然后用File-->Execute UG/OPEN-->User Function来观察程序的效果。但问题是我不知道调用dll程序之后如何终止。
  
因为当发现需要修改程序,重新调试的时候,在VC中link,总是出现错误信息,
Linking...
LINK : fatal error LNK1168: cannot open Debug/temp.dll for writing
Error executing link.exe.
必须关掉UG之后,重新link才没有问题。
  
所以现在每修改程序的一个地方,需要重新调试就必须重新启动一次UG,实在是太慢啦
  
不知道大家都是怎么进行调试的?
我这种思路又有什么不对的地方?
望指教!谢谢!
作者: zzz    时间: 2004-2-25 17:34
如果你的程序入口是ufsta(),那是没有办法的,如果是ufusr(),应该没问题,如果程序弹出对话框的话,应该把对话框关掉。
再一个,我们平时一般使用菜单来调自己的东西,不是用USER FUNCTION 来调用。
在自己的程序中应该有两个函数,决定自己的库什么时候卸载。这两个函数是
ufusr_ask_unload() 和ufusr_cleanup().
作者: 云淡风清    时间: 2004-2-25 17:56
明白,我想熟练之后应该是那样:)但因为现在刚刚开始,所以用的手段比较原始一点。努力中....
  
我刚才试了一下ufusr_ask_unload(),基本上搞清楚了。也能卸载程序了。谢谢版主!
  
至于ufusr_cleanup()还没遇到过,接下去慢慢研究。
  
还有就是ufsta,就是不明白它是做什么用的,刚才还发了一篇文章问。能再帮我解答一下吗?谢谢:)
作者: zzz    时间: 2004-2-25 22:25
ufusr_cleanup(),从它的名字也可以看出来,它是和ufusr配合使用的,用于清除某些东西的函数。一般不用,反正我从来没用过。
作者: Tyrael    时间: 2004-2-26 10:28
云淡风清 wrote:
还有就是ufsta,就是不明白它是做什么用的,刚才还发了一篇文章问。能再帮我解答一下吗?谢谢:)

sta应该是start的缩写,表示是随ug启动时加载这个dll,所以每次重新编译dll都要重启ug
作者: zhjb113    时间: 2004-3-2 22:33
还有一个方法,VC6.0提供了Apply Code Changes功能
在调试的过程中,如果你修改了代码,点鼠标右键,在右键菜单上就由这个东东
作者: Patton    时间: 2004-3-4 17:25
不错,就是这样!




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