非常感谢您的及时回复!
9 _' f# w& x' e1 i但我加了这个宏之后再运行,m_pSplitData、m_nNumSplitData最后两个字段还是乱的。
1 H: u" S% J6 a6 N" I另外,我一直使用的C++Builder 6,本身就是32位的。' X) R' k/ l- m. `
7 F0 U8 z3 X. g7 j2 j& w, G! e/ ?' S
运行时刻仔细观察struct tagCALCINFO结构,所有字段值一直到m_pCalcParam,经验证,都是对的。# S! l& K R# b% f) J
那么,唯一的可能,是不是m_pCalcParam字段之后的结构定义有了变化?
i* o% N/ \) S请问您能否给我一份最新的接口定义头文件,多谢!
% ]. l; \0 b, i' f- [ @% r1 E7 l; n7 l9 C% ~ p
附上我手头的结构定义:+ i6 C0 J" U9 g/ S
//调用接口信息数据结构' f4 K2 D% l# z* F! g
typedef struct tagCALCINFO0 h) J1 ^) g% ^, |3 L' q1 r7 P
{$ k0 E8 l$ U6 a
DWORD m_dwSize; // 结构大小
1 |: E/ w+ Y! `6 _4 R DWORD m_dwVersion; // 调用软件版本(V2.10 : 0x210)' z5 ~5 o4 m' G8 i' m% _5 S( Q# a2 U
DWORD m_dwSerial; // 调用软件序列号
) G4 U6 ?* ?) b3 J; z E# T/ F char* m_strStkLabel; // 股票代码" c4 J7 S: K1 Y
BOOL m_bIndex; // 大盘 T; G0 ~9 C+ S* @: A0 L
( O% s2 S; M/ I% ~ int m_nNumData; // 数据数量(m_pData,m_pDataEx,m_pResultBuf,m_pCalcParam[i].m_pfParam数据数量)
9 `9 C( Z8 ]6 q( Z6 y+ G STKDATA* m_pData; // 常规数据,注意:当m_nNumData==0时可能为 NULL2 r7 O3 Z2 I( I' P7 [: H) M
STKDATAEx* m_pDataEx; // 扩展数据,分笔成交买卖盘,注意:可能为 NULL
0 ]3 d! J% |, u5 e0 }4 r2 B. K$ P5 R3 o$ i; c8 [. ]' r
int m_nParam1Start; // 参数1有效起始位置
9 J# E8 u( t: {" ] float* m_pfParam1; // 调用参数1 j3 B G$ f, i8 P
float* m_pfParam2; // 调用参数2
/ I# x( T) e* m$ ] float* m_pfParam3; // 调用参数3
' p" {5 x |. E6 g float* m_pfParam4; // 调用参数3
! w, w* H! M; Q
1 _% B- Y z: m; M) { J float* m_pResultBuf; // 结果缓冲区; Z8 W1 }0 l( X( B1 v7 N) @$ M0 ~
DATA_TYPE m_dataType; // 数据类型
+ @: c9 b8 i5 Y' m+ e& E float* m_pfFinData; // 财务数据
7 P" j3 c) M1 Y- }; m0 d
, ^+ R- E! s3 i5 ^ g8 m) l5 G// 以上与分析家兼容,所以沿用其结构和名称
0 C3 r* d# w; y
' H! ~$ a3 ~% F5 a- @* F# w# g// 以下为飞狐交易师扩展2 l6 v# s5 Q+ p; q; }4 {3 N
5 E- o; b) s6 e; R2 }* d# `
DWORD m_dwReserved; // 保留
6 C0 ^" A/ V1 K" y8 J5 f# l char m_dwReserved2[3]; // 保留
# e* { t$ w5 V1 u a8 I8 X3 s) }/ `* V/ s$ |( L% ~: g2 ~
int m_nNumParam; // 调用参数数量
3 w8 j6 E# Z( Y5 H( j% D8 D0 h) n CALCPARAM* m_pCalcParam; // 调用参数数组
+ }7 O8 R1 D7 y+ O, u u: r% x: r6 {5 ~/ y% x
DWORD m_dwReservedEx[4]; // 保留% [! P# ]6 @- Q6 q& U
7 F( W8 H0 p7 Y) I
char* m_strStkName; // 股票名称1 T2 \7 h! S7 H' z
- Z1 u- `; i6 M. P% V! H SPLITDATA* m_pSplitData; // 除权数据" _; L+ w! t# v$ ]' F
int m_nNumSplitData; // 除权次数
: ?" `- ?# l* a R/ x
" q @1 M/ T% i: f. @} CALCINFO;0 w. q! y; `) l0 v4 `2 n
2 J9 ]% t6 L/ X$ J4 p2 B9 |
|