非常感谢您的及时回复!8 i3 d5 u2 q! v3 T/ u
但我加了这个宏之后再运行,m_pSplitData、m_nNumSplitData最后两个字段还是乱的。2 n! F9 x& S. h- d, s1 k
另外,我一直使用的C++Builder 6,本身就是32位的。
- [4 N0 n1 c3 } Q; o4 B# W9 `4 R
7 g1 l* V, v' P运行时刻仔细观察struct tagCALCINFO结构,所有字段值一直到m_pCalcParam,经验证,都是对的。( v+ U$ t2 P: V! m e5 P: j8 n% j
那么,唯一的可能,是不是m_pCalcParam字段之后的结构定义有了变化?
3 i/ A" t5 f& f请问您能否给我一份最新的接口定义头文件,多谢!* J3 M; N. d3 {; Q: E
2 `( J9 q4 j) ?9 d6 r5 b, ? s) M% R9 M
附上我手头的结构定义:7 {( s* g9 u' y, S
//调用接口信息数据结构: ^* E4 I+ t1 O+ r2 o
typedef struct tagCALCINFO. x6 L: i; a7 q0 d, K
{# y* s# C8 G2 h6 Y7 r4 {% D
DWORD m_dwSize; // 结构大小
6 y- D% [; [# e. Z$ G. h DWORD m_dwVersion; // 调用软件版本(V2.10 : 0x210)
# E6 `& F7 B- e- o M DWORD m_dwSerial; // 调用软件序列号7 h+ z/ Y N! H& |
char* m_strStkLabel; // 股票代码6 m7 B4 r; T) Q9 d7 G$ @ C
BOOL m_bIndex; // 大盘
: H: J( Q2 P2 [& U* S c' c/ y' z# X# g8 w! x+ i8 b8 Y- r
int m_nNumData; // 数据数量(m_pData,m_pDataEx,m_pResultBuf,m_pCalcParam[i].m_pfParam数据数量)
$ Z A: |8 d, d: b) v+ B8 o STKDATA* m_pData; // 常规数据,注意:当m_nNumData==0时可能为 NULL
( f/ F( c9 x( m1 C8 W" _. ~ STKDATAEx* m_pDataEx; // 扩展数据,分笔成交买卖盘,注意:可能为 NULL
2 ~9 t# q% f2 U! l1 I; k2 N1 J
0 a2 v6 p7 o1 x. x3 k& X% Z- r int m_nParam1Start; // 参数1有效起始位置- ~/ j5 A& t2 D3 q& I5 Z4 k
float* m_pfParam1; // 调用参数18 J6 {" X# P/ @ D3 D+ H& Q
float* m_pfParam2; // 调用参数22 x3 f/ |" B. t W
float* m_pfParam3; // 调用参数38 G8 J# Q T5 t# A9 K4 Y
float* m_pfParam4; // 调用参数38 T6 G% @* n# h8 h3 e8 {
0 S( A% r! `" l; H& j8 U) M float* m_pResultBuf; // 结果缓冲区1 k `$ D& |; W
DATA_TYPE m_dataType; // 数据类型2 L- @7 _. P/ n5 Z0 [& \; ^
float* m_pfFinData; // 财务数据
) ^9 P1 w9 y4 X K: v" T/ ~5 X! H' ? v9 O, N# @! a8 c
// 以上与分析家兼容,所以沿用其结构和名称5 |# O. f$ S5 H5 V% U% K" a
% t4 b5 b1 b% v- z! u1 P; Z1 t9 z, j
// 以下为飞狐交易师扩展
- J) d! m8 ^' `) B7 \( W* ~
: A- O6 `- O; m# \ DWORD m_dwReserved; // 保留
% G& R" U' |7 s" G- W' I; ^ char m_dwReserved2[3]; // 保留
" Z- k, I% u% P) c# S9 U& h: @, R- o O6 |3 S+ E
int m_nNumParam; // 调用参数数量& C }; G% \" M# l- F
CALCPARAM* m_pCalcParam; // 调用参数数组
$ M9 D, q ^8 I/ \7 T2 b& r2 Q' I) H7 C- U/ f m% F& u8 D
DWORD m_dwReservedEx[4]; // 保留
1 U! A" b; [0 B, d7 ?$ e( [2 _, K- C3 Q
char* m_strStkName; // 股票名称3 O% g% g) D% h* ]
' l% Z! z! b% W7 Q S0 \! @' ~
SPLITDATA* m_pSplitData; // 除权数据
( N" ]6 y4 E6 H4 q K2 O: B) M3 @! F int m_nNumSplitData; // 除权次数; ^) T! p, ^$ a0 z! W
. Y4 }6 t% K4 e# w* a4 l5 x} CALCINFO;, Y3 @! @4 R# l/ o% P. [# ~
5 h, n: r0 I1 N) P1 K' B* X9 x( ] |