|
本帖最后由 sipm27 于 2011-6-3 11:40 编辑 9 o: ?# t/ I* T3 p9 b1 v
9 x* l$ m$ K$ y/ ^( Z开发工具VS2008 C++ ,ugnx 7.5
- G% t! E2 b! \3 l3 ^: d- A1 @4 T+ }% D/ h% p: f
动态库(unicode版)中有基类A
0 S8 ]5 w5 `' O7 g6 p1 r/ @class A5 S' G% f9 O I# K
{. R* e$ ]% D# d2 ]8 h5 T. x! z
virtual long Fun(wchart_t *strFile)7 A v" f! ]+ X0 J1 p- a
{
8 N6 t* d8 t6 K return 0;- N( }9 B" G# P" ]% u; j
}4 z% S/ X/ y6 h7 |* s
0 e2 [( @& u. O {9 T
};: G$ y+ p9 @+ @/ _, O; Y
8 y+ c' } z: U# J! J7 y7 N
0 q. J7 v% j |1 R
插件(非unicode版)中有回调类B (插件编译为unicode版时,UF_PART_save()失败,返回值=11)
3 D1 [3 i f7 C+ o$ p9 lclass B : public A
! J& C2 `8 i; c{& x1 m5 b/ C! ^7 ?( [
virtual long Fun(wchart_t *strFile). ]+ T. f' K% m& M% h/ F
{3 H3 T/ ]" Z2 J4 c) j
char str[256];
& @/ R) e& ~& L: \ strcpy_s(str, (char*)_bstr_t(strFile));
2 Z% W. L _- }$ q2 |
) m& k3 z& F( q8 I4 ^. c tag_t part=NULL_TAG;2 c( V+ A$ j9 _+ V* L
... status;3 R5 v3 T z4 ]& C3 c/ d' n6 O
2 y% ]+ b$ d3 P/ J. C% ^+ c* O5 z //如果调用UF_init...()初始化也失败。1 @, Z& U0 Z. N1 [
int nRet = UF_PART_open(str, &part, &status);
2 l6 K. E. x/ D8 e0 Q* e //此处返回值=11,内存违例了。。。' @$ B* A& ]3 ^/ K6 E
}
$ l( S% E; a! G/ M$ z
( k. t# C- z m* M};- v) M1 I1 D# u( l6 |
& Z& ^2 j$ O5 E5 `; b. _3 {
请问哪位高手能解释一下吗?或者有什么方法可以解决回调打开文件的问题?* d+ O3 p8 H( J# r" J3 `. P
在回调的操作中,并不是所有的Open API都失败,比如获取当前部件的路径就正确。
* t# l9 v+ O( ~) O; C% ?谢谢! |
|