非常感谢您的及时回复!2 ^" b7 a) b) k; A
但我加了这个宏之后再运行,m_pSplitData、m_nNumSplitData最后两个字段还是乱的。
\, [# H+ f! b( w+ n+ Z$ `5 v另外,我一直使用的C++Builder 6,本身就是32位的。: X/ f [, u% L, v$ K! N/ U
+ z* h! I7 h! t9 E7 V- K% Q6 R运行时刻仔细观察struct tagCALCINFO结构,所有字段值一直到m_pCalcParam,经验证,都是对的。4 {: E0 }6 |) w& F
那么,唯一的可能,是不是m_pCalcParam字段之后的结构定义有了变化?
, \) M2 Y: z. |! I% S9 {1 l请问您能否给我一份最新的接口定义头文件,多谢!$ u( ~, m% K- \1 e+ M; h
1 C/ s. m7 a! s7 l
附上我手头的结构定义:7 }& s5 b1 o! n( p/ U# g
//调用接口信息数据结构
: a* }; I' K2 i& q s+ \typedef struct tagCALCINFO
0 y! p' Z6 k: J! P/ ^2 C) ^" K{
; @. g$ U; ]3 R7 Y/ _! K p: ? r DWORD m_dwSize; // 结构大小4 j' O% x) Q# Q3 g6 b5 a
DWORD m_dwVersion; // 调用软件版本(V2.10 : 0x210)
9 B, B6 e( d9 A( ]- V4 N DWORD m_dwSerial; // 调用软件序列号
5 L' d( v1 K6 |1 i% k char* m_strStkLabel; // 股票代码
^6 _/ M& ]. k3 {+ b- u BOOL m_bIndex; // 大盘: f' L' w( k6 P& \. _6 n8 w
) v4 ?' X# E+ E0 h5 l8 U. B) D int m_nNumData; // 数据数量(m_pData,m_pDataEx,m_pResultBuf,m_pCalcParam[i].m_pfParam数据数量)$ |* r2 T+ s, X" H9 }$ m k, c
STKDATA* m_pData; // 常规数据,注意:当m_nNumData==0时可能为 NULL4 b" s4 h p* X2 m, W3 {. B" n/ l, G
STKDATAEx* m_pDataEx; // 扩展数据,分笔成交买卖盘,注意:可能为 NULL
7 c" e1 E4 c2 O/ L3 R% r# o0 |: c& B I1 M7 ^; ^) Y! w2 [
int m_nParam1Start; // 参数1有效起始位置) P* B5 d/ B) T$ A7 N. R+ f5 z% u
float* m_pfParam1; // 调用参数1
# s6 M6 Y# ^) J float* m_pfParam2; // 调用参数2; W/ \! b, f1 H6 y6 @ C+ k1 u
float* m_pfParam3; // 调用参数3
. o; a6 `/ ~! ?* x float* m_pfParam4; // 调用参数3- u, o- X! o! @2 z, H# I; O
, P7 j d: i% g. x5 ]4 S9 q9 e float* m_pResultBuf; // 结果缓冲区
: L6 m9 {) Q8 D DATA_TYPE m_dataType; // 数据类型3 D3 E1 i! J) F) V
float* m_pfFinData; // 财务数据
3 ?$ C: Q/ l8 D/ I* m% E
/ b k$ y9 E% m8 ?4 u// 以上与分析家兼容,所以沿用其结构和名称
4 d! b3 R& [* W) E7 E+ c) x1 B. \+ i& I5 l+ {8 S* @1 l* O* a
// 以下为飞狐交易师扩展6 I7 l' N6 K- g) \; I
. n0 K, @$ k7 n& @& p0 f
DWORD m_dwReserved; // 保留/ j c; E# s6 @; C
char m_dwReserved2[3]; // 保留
' v J- E4 ]; \6 a) s5 U% o. U
1 i; w1 E% C1 G3 Y int m_nNumParam; // 调用参数数量& m- _( Y: L8 X( a/ y2 f
CALCPARAM* m_pCalcParam; // 调用参数数组
$ M% r* r# V! p8 G% B( ~" d4 {" J$ V+ d, l( X
DWORD m_dwReservedEx[4]; // 保留
& z+ ?0 w# H1 G ]% t+ Y; q h
8 z" B7 F5 ]+ G& ^ char* m_strStkName; // 股票名称
# M) {& f0 B+ \" v; ~% @3 t2 O9 R" y
SPLITDATA* m_pSplitData; // 除权数据! j) `& t. S! `4 w- L! w! p7 b9 F0 b8 l2 B
int m_nNumSplitData; // 除权次数: {( N* j/ ]8 C; w
2 M# R2 n- L a} CALCINFO;5 o+ K3 l7 f4 Z3 O0 H' o1 Q. {" n
4 B( y; |0 m# b! U3 t |