青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

青华模具培训学院
查看: 1923|回复: 3

[疑难] 在unicode版的动态库中回调插件打开文件失败

[复制链接]
发表于 2011-6-3 11:39 | 显示全部楼层 |阅读模式
本帖最后由 sipm27 于 2011-6-3 11:40 编辑 - K, T6 C7 W2 y, U' Q
# \- @% Z/ U, |" Q% d
开发工具VS2008 C++ ,ugnx 7.5$ @1 {" n" l+ h) O1 T7 t! l3 c0 U! Y) q

! j+ A* _! E) c9 m0 L$ j- J动态库(unicode版)中有基类A6 w! u8 F9 j6 @* h9 k" O% ]$ K! d
class A6 J+ `- M3 e% V6 }  K- _
{( e8 w2 d# s% P& ?' Q! ]7 j: b1 _8 P
    virtual long Fun(wchart_t *strFile)& Q, k9 E% _* @, T1 e& P& j
   {% v) l5 K+ |$ g2 w8 k
      return 0;* a+ J! d- k" E+ J, D& n  I( Y/ {
   }
1 R% O3 X' t$ r+ {  u$ Y
  W8 E4 C$ p7 U/ {1 n  f};
  X$ B  e7 y; a$ y( w
# O8 ~3 g% c& \& w* Q" h: @" |1 D" w6 u& u: e
插件(非unicode版)中有回调类B  (插件编译为unicode版时,UF_PART_save()失败,返回值=11)
8 K+ u. s* ~6 j3 T0 D  K; ?$ o5 ]class B : public A7 w0 o9 e  H2 w* X" ?
{3 e8 D: U) H. l; _
    virtual long Fun(wchart_t *strFile)0 ?/ T$ O! ]2 N: m! U9 K4 X
   {0 ?$ e8 Y7 j( l% Z! m+ O
        char str[256];9 f  R. O5 k* s, y7 C
        strcpy_s(str, (char*)_bstr_t(strFile));  5 Q2 r5 Q4 c! K, q' f

; J' x2 Q/ Q; Z8 A# h( n; `  u        tag_t part=NULL_TAG;$ v  J2 ~3 J) |8 R( S) o$ F
        ... status;8 q7 t' P" c/ ?

& t/ {$ A5 E/ K( l. b        //如果调用UF_init...()初始化也失败。& }. H9 w$ x1 v6 Z% j
        int nRet = UF_PART_open(str, &part, &status);
+ o/ v6 b5 J9 J- d7 t        //此处返回值=11,内存违例了。。。- k1 \# [9 v+ b& M0 m/ a1 r: H
   }
8 {: j7 H- a" h0 [& M; f+ @7 O" y5 b2 B' M' O* [; i: P- B. F
};& @/ P( o2 Z) r( X1 R+ Y2 A4 s
- R+ ?3 ~1 r  R7 a# \. @
请问哪位高手能解释一下吗?或者有什么方法可以解决回调打开文件的问题?9 L* b3 f- {1 j" z, @2 }
在回调的操作中,并不是所有的Open API都失败,比如获取当前部件的路径就正确。
' W' p( h2 f( k) Q: B6 P: m- P谢谢!
 楼主| 发表于 2011-6-3 11:48 | 显示全部楼层
追加问一下,ugnx二次开发是不是不支持unicode?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-6-3 16:16 | 显示全部楼层
目前暂时发现:回调中调用初始化UF_init...()是失败的,因此需要初始化后才能用的函数都不能调用成功,已经发现 打开文件UF_PART_open(),  关闭文件UF_PART_close(),  保存文件UF_PART_save()这三个方法在回调中失败,返回值都是11.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-6-10 12:29 | 显示全部楼层
经过验证,ug7的open/api不支持unicode版本开发。/ g, D! b8 d# `" y% D# m6 o
ug8可以支持unicode插件的开发。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|关于我们|sitemap|小黑屋|Archiver|手机版|UG网-UG技术论坛-青华数控模具培训学校 ( 粤ICP备15108561号 )

GMT+8, 2025-6-29 15:54 , Processed in 0.181080 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表