非常感谢您的及时回复!& o, v. E+ w2 a( I4 _' A
但我加了这个宏之后再运行,m_pSplitData、m_nNumSplitData最后两个字段还是乱的。
& r* H- M' b) k! ]% I. f( y: J另外,我一直使用的C++Builder 6,本身就是32位的。$ R/ g/ t ] j$ Z+ ]
( i; ^( s8 F0 @: A3 ^) a5 m) I; n运行时刻仔细观察struct tagCALCINFO结构,所有字段值一直到m_pCalcParam,经验证,都是对的。
0 U: k- k* D7 g: Z9 ]那么,唯一的可能,是不是m_pCalcParam字段之后的结构定义有了变化?8 i% H! t5 T. t' U) m
请问您能否给我一份最新的接口定义头文件,多谢!4 H& [; l: O& c3 g9 |
# K* H: x' J, T
附上我手头的结构定义:/ u+ Y1 G$ s( Q1 _2 e
//调用接口信息数据结构! x9 J/ }7 o# |- Y3 a
typedef struct tagCALCINFO: u$ H# {" s. }+ J9 a; t
{
4 t4 e% w6 ^, @- R! { H0 Z DWORD m_dwSize; // 结构大小6 _2 g, I8 u E8 _- V, }
DWORD m_dwVersion; // 调用软件版本(V2.10 : 0x210)
& Q1 C, h6 J } A DWORD m_dwSerial; // 调用软件序列号2 q5 ?+ o; m' ]) h8 ]8 f
char* m_strStkLabel; // 股票代码
: h8 d7 X! @" n% O$ t BOOL m_bIndex; // 大盘
' ^/ D9 A- M% {+ a1 N0 o; \: j7 \0 z' C" j% W. X- u/ J
int m_nNumData; // 数据数量(m_pData,m_pDataEx,m_pResultBuf,m_pCalcParam[i].m_pfParam数据数量)5 C6 r) D m3 D4 \/ F* {( O
STKDATA* m_pData; // 常规数据,注意:当m_nNumData==0时可能为 NULL% B/ k2 b( C0 m6 E x8 w* l
STKDATAEx* m_pDataEx; // 扩展数据,分笔成交买卖盘,注意:可能为 NULL" k0 w; g$ T$ R
$ ` Z" \( v: n int m_nParam1Start; // 参数1有效起始位置4 M9 a# K5 ?9 h7 b4 [
float* m_pfParam1; // 调用参数1
/ P& w8 f/ ~: x' C float* m_pfParam2; // 调用参数2
8 R! ~' p4 u' t& @! d2 u7 M float* m_pfParam3; // 调用参数3
& F K' s4 Y9 S; g9 P float* m_pfParam4; // 调用参数3
; }) F2 f$ n' \$ P0 M* G" V) c; q" F" k: ?
float* m_pResultBuf; // 结果缓冲区
* l; l) B5 d4 `8 U5 r" B$ x% ~ DATA_TYPE m_dataType; // 数据类型
; G& |" S+ ]4 H# T# e) \4 X float* m_pfFinData; // 财务数据
0 P( v% b" B! f0 }6 D- O, v( _# L9 o) N" Q
// 以上与分析家兼容,所以沿用其结构和名称
) W8 p! W6 t5 V/ [5 u. }' f" g
% U$ r* ]1 _ `- f# M0 X/ s- \2 C9 o// 以下为飞狐交易师扩展2 Q- d6 |6 }# @6 L- g, h5 c
' W: `; k2 s+ K2 c6 f
DWORD m_dwReserved; // 保留) V2 e5 }6 E8 S8 ], i
char m_dwReserved2[3]; // 保留7 h/ e: h# P( }/ r: u4 ?/ E
/ v! @- i7 b8 {4 i( R9 { g7 d( U. P int m_nNumParam; // 调用参数数量" Z! T T+ e- n
CALCPARAM* m_pCalcParam; // 调用参数数组
/ [5 m" L3 l7 b% W% S4 V. W: z' `0 }5 m0 b8 N' P: S4 w
DWORD m_dwReservedEx[4]; // 保留5 i* Q; n( W$ L% O3 b
; B q& g$ G! E+ a char* m_strStkName; // 股票名称! c A; A# J8 J) m/ y. J2 U2 m
) W2 w( Q. w1 C/ D4 \0 e0 D SPLITDATA* m_pSplitData; // 除权数据
( N( }7 [' O# `) m, K int m_nNumSplitData; // 除权次数, C0 J4 d: E k; {. j2 z' Q
/ p5 Z Z0 {/ K; ^+ G1 _
} CALCINFO;+ O+ _1 K* A" b5 J5 d0 w0 q: L
, ~2 ]; S) b/ _# Z |