非常感谢您的及时回复!4 j4 Q7 E- `: T/ W. G+ c8 f$ B
但我加了这个宏之后再运行,m_pSplitData、m_nNumSplitData最后两个字段还是乱的。
* j; w5 `, c. W3 h8 V另外,我一直使用的C++Builder 6,本身就是32位的。
5 [$ K3 j" Y- [; V% o# s5 `
% V& a9 y" Q% V; A, C运行时刻仔细观察struct tagCALCINFO结构,所有字段值一直到m_pCalcParam,经验证,都是对的。" w( g$ ]* A, f" v$ w& ]- F( x
那么,唯一的可能,是不是m_pCalcParam字段之后的结构定义有了变化?6 W' v n; X$ ]
请问您能否给我一份最新的接口定义头文件,多谢!9 P! C& ]4 M! g g" l* p2 V \
. D- {3 D3 P+ V
附上我手头的结构定义:
2 `; G) V( [# c6 i. L$ D( P//调用接口信息数据结构0 f7 M& a. Q5 Y' f7 t
typedef struct tagCALCINFO# h: [$ w: n9 N$ Z1 U' W
{
( R& N* L" o) C" s DWORD m_dwSize; // 结构大小# D+ ^/ U6 r, K& }& E
DWORD m_dwVersion; // 调用软件版本(V2.10 : 0x210)
" N1 I7 i, g) V$ p# j" B4 Z DWORD m_dwSerial; // 调用软件序列号
2 i5 K: [8 H" d& w2 d0 N char* m_strStkLabel; // 股票代码) d* z1 L, R* I* z# f" x. E' S
BOOL m_bIndex; // 大盘. C3 O, U Z. m5 d$ F, g
' U5 R- e9 e3 ?( T6 t6 H! C
int m_nNumData; // 数据数量(m_pData,m_pDataEx,m_pResultBuf,m_pCalcParam[i].m_pfParam数据数量)2 }% q, h! A! ?" Q9 I; ?2 J% |
STKDATA* m_pData; // 常规数据,注意:当m_nNumData==0时可能为 NULL
2 d6 M% \* t' D' v STKDATAEx* m_pDataEx; // 扩展数据,分笔成交买卖盘,注意:可能为 NULL
: f$ ^' s$ |1 e
4 Q4 y$ e3 }* K7 g* s int m_nParam1Start; // 参数1有效起始位置
: J3 q3 b, G' D, }! `6 O6 _ float* m_pfParam1; // 调用参数1
* y, i: _/ |$ \2 z float* m_pfParam2; // 调用参数2
2 _6 @( p: h2 O, H float* m_pfParam3; // 调用参数3$ @7 _- p) N1 H. K+ w/ b
float* m_pfParam4; // 调用参数3
* ]$ T5 [! A0 @7 h2 |8 N- C* Z, J9 ~! i
float* m_pResultBuf; // 结果缓冲区: {; X* R" Z) M- o3 S' A7 n
DATA_TYPE m_dataType; // 数据类型3 o- r0 I+ P3 ~8 t: A( U
float* m_pfFinData; // 财务数据
0 E1 u, L+ `" u
/ I0 j3 g1 C5 @ k$ L" w// 以上与分析家兼容,所以沿用其结构和名称
- ~; T$ Z2 h2 K; U. l+ p* j3 T0 t4 F0 u8 G8 F7 J3 L4 C2 }
// 以下为飞狐交易师扩展
, c2 j; l% _' e+ K+ a: z
9 o N- ~4 u k& b5 B DWORD m_dwReserved; // 保留
# D* w0 X. U3 O! o char m_dwReserved2[3]; // 保留/ {% q$ R6 N; Y; R' Q1 ^1 A0 V
! Y; { }0 d% s2 J7 O' M3 b int m_nNumParam; // 调用参数数量; M4 j7 f2 `* R9 `9 p% v
CALCPARAM* m_pCalcParam; // 调用参数数组
: E$ ] _8 @: Q* r7 Y, w" d0 n; I6 T# k3 I( G5 O8 Q/ {2 w
DWORD m_dwReservedEx[4]; // 保留6 j" e) E) A- F
$ z4 l1 v1 s+ O4 Z2 t4 O
char* m_strStkName; // 股票名称, C- K: H2 a/ R) U+ D4 z/ r
- v; e0 i9 Q; S" s
SPLITDATA* m_pSplitData; // 除权数据) h' t: _3 `6 {2 n
int m_nNumSplitData; // 除权次数
2 E4 k6 h3 G9 x5 q# O( @7 h3 N3 V5 e' P, W5 j
} CALCINFO;2 \1 G; ^2 F! i( n* \5 m
0 S$ k9 A% G# u R; h) v |