非常感谢您的及时回复!
1 j% J& s O- Z但我加了这个宏之后再运行,m_pSplitData、m_nNumSplitData最后两个字段还是乱的。
9 O* A4 A3 t$ I另外,我一直使用的C++Builder 6,本身就是32位的。; @# ]! z: ~# \ i6 C, Z4 F
. J4 u4 a$ U" h& ^( x1 L9 V
运行时刻仔细观察struct tagCALCINFO结构,所有字段值一直到m_pCalcParam,经验证,都是对的。
) T K2 i* r# n/ ~/ M' U那么,唯一的可能,是不是m_pCalcParam字段之后的结构定义有了变化?
, F% E, Y1 L7 [$ Q+ ~% y请问您能否给我一份最新的接口定义头文件,多谢!/ J* a! F* b/ e8 U, d; n, s2 j
: L0 l- f, I- X. T3 a. e6 r
附上我手头的结构定义:
, B/ V5 L4 v: F. h* e8 Z6 X& I//调用接口信息数据结构8 J) f* O' {3 n! M% s+ ~6 m3 f
typedef struct tagCALCINFO, F, k( e2 p0 W/ B; P' K
{9 T5 P7 k @/ d6 ^7 U; t: g0 z
DWORD m_dwSize; // 结构大小
9 G5 T9 _ Z6 q7 F( y9 ~! L2 q DWORD m_dwVersion; // 调用软件版本(V2.10 : 0x210)
0 C6 d$ Z; d/ S/ r9 } DWORD m_dwSerial; // 调用软件序列号9 d+ C9 s4 u4 e* R a3 r
char* m_strStkLabel; // 股票代码
' {3 C! Z6 F. |8 f! _ BOOL m_bIndex; // 大盘
, p' l, Z" | K, Y/ K# A+ |0 h9 K' u5 X) U
int m_nNumData; // 数据数量(m_pData,m_pDataEx,m_pResultBuf,m_pCalcParam[i].m_pfParam数据数量)# B3 B& H& Z e& _7 M/ G; Z
STKDATA* m_pData; // 常规数据,注意:当m_nNumData==0时可能为 NULL3 h6 o8 C1 Q) R8 c" `9 N W
STKDATAEx* m_pDataEx; // 扩展数据,分笔成交买卖盘,注意:可能为 NULL
_/ T! j2 l. E5 ~! }- I' H. @
( l: W* C- b# g6 _ int m_nParam1Start; // 参数1有效起始位置4 \% I8 m; r& X* C6 T, ]: Q+ W
float* m_pfParam1; // 调用参数1
& S( M7 m$ G! ?9 B5 B- X float* m_pfParam2; // 调用参数23 e, S0 p) D) U9 s" I8 \! e5 Z
float* m_pfParam3; // 调用参数3
+ T' M) f7 ^- S- A# M$ a6 N. E float* m_pfParam4; // 调用参数3
3 z8 }2 ?$ D2 `4 Z7 I2 T6 U' x7 o- M. X ~
float* m_pResultBuf; // 结果缓冲区
. K& ^/ s$ o5 _6 ]" {" q( B8 ] DATA_TYPE m_dataType; // 数据类型$ X- n; b: r T
float* m_pfFinData; // 财务数据) Q _% y3 }" a; _4 |0 ]
1 S8 b) D6 c7 U$ G6 V// 以上与分析家兼容,所以沿用其结构和名称
. E. M; x( c- D" O1 G( {$ q2 q' L) G0 B- P; M, G7 g/ s) u2 P
// 以下为飞狐交易师扩展
n* e6 X; L1 U8 ]0 r' P1 L
0 o! z D/ E! y0 d! S; H5 A! a/ z- t DWORD m_dwReserved; // 保留
, W6 S& w \; z4 I0 g: f/ s. Y3 y/ f char m_dwReserved2[3]; // 保留
5 `6 z; A! n0 i0 j" {; U- ~) a
7 D) P: U7 U5 S int m_nNumParam; // 调用参数数量+ k% s! y' w b& X% N
CALCPARAM* m_pCalcParam; // 调用参数数组
, p* ?+ y5 A1 J/ j# n' V5 d$ e7 J1 f% q8 |. x; a
DWORD m_dwReservedEx[4]; // 保留: ~- _, E! {( h% P+ Y2 Q, l8 }
5 R5 C Z) v, _# S: _
char* m_strStkName; // 股票名称
5 v$ |6 K- a! q$ h; z4 `' N1 D: b8 y1 b' w' R6 j( Z7 a% v5 s9 |
SPLITDATA* m_pSplitData; // 除权数据
! v6 b5 f7 Y) b* V int m_nNumSplitData; // 除权次数
! A. V7 s% T4 N( A) J
* `+ L# p1 j3 f2 x7 U& F1 I* T( W} CALCINFO;! h/ a: @0 J) e* e5 r
1 p/ I# j3 k( V' A. I6 O: R! W0 F
|