|
本帖最后由 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谢谢! |
|