非常感谢您的及时回复!; P- Q6 x4 N$ ?
但我加了这个宏之后再运行,m_pSplitData、m_nNumSplitData最后两个字段还是乱的。1 ?! Y; W M4 z. x% W1 H! c, ~" O: ~
另外,我一直使用的C++Builder 6,本身就是32位的。
3 i4 X [( h C' r9 u) v
+ Q" H/ \. M4 I! H: U运行时刻仔细观察struct tagCALCINFO结构,所有字段值一直到m_pCalcParam,经验证,都是对的。1 K* f" ?/ d* x& g
那么,唯一的可能,是不是m_pCalcParam字段之后的结构定义有了变化?3 e' U/ n/ _( N
请问您能否给我一份最新的接口定义头文件,多谢!0 v1 A; V+ ]/ B" g+ q' e# B
0 v) x& A6 N! o' ^- ]附上我手头的结构定义:
/ t5 J) @: B8 \/ C//调用接口信息数据结构
' X+ w' R5 a$ J+ E, J1 utypedef struct tagCALCINFO+ G A! A, M' d& k2 o4 c F* I
{
7 r% ^' x0 w$ a9 u% u; E: p; H DWORD m_dwSize; // 结构大小
& C3 s: V# }; a0 f9 M# B! I/ g8 A DWORD m_dwVersion; // 调用软件版本(V2.10 : 0x210)$ V+ Q2 c7 c; J9 v5 p( g
DWORD m_dwSerial; // 调用软件序列号
x8 d% F) M: [$ j$ s6 i char* m_strStkLabel; // 股票代码. C1 M" i) g- d L2 H
BOOL m_bIndex; // 大盘0 ~. c2 M2 S5 y. X H
2 D6 e" A! E. q7 i' ?: S3 ^ int m_nNumData; // 数据数量(m_pData,m_pDataEx,m_pResultBuf,m_pCalcParam[i].m_pfParam数据数量)! u0 u5 A& c% E2 }% E
STKDATA* m_pData; // 常规数据,注意:当m_nNumData==0时可能为 NULL
3 }* h1 Q2 ], b+ s+ w+ }( [ STKDATAEx* m_pDataEx; // 扩展数据,分笔成交买卖盘,注意:可能为 NULL
2 S$ H/ B4 q* i5 W% i
9 B9 T" |1 E- i8 Y! p int m_nParam1Start; // 参数1有效起始位置* }0 Q" a3 |/ Q6 c
float* m_pfParam1; // 调用参数1
]7 q: b7 A4 |7 T+ J# P# C float* m_pfParam2; // 调用参数2
2 u5 m& u# B' E! \1 E, w float* m_pfParam3; // 调用参数3
, f& m, w& t- U/ @. v- o float* m_pfParam4; // 调用参数3
5 T- ?$ K9 ^: }9 U
3 p$ p0 O9 G. P$ U" [. n6 I float* m_pResultBuf; // 结果缓冲区
6 t9 W" L4 b$ t" l9 w2 }9 A4 K- s DATA_TYPE m_dataType; // 数据类型) Q0 P& {/ q) Y" q) S
float* m_pfFinData; // 财务数据
6 ~9 B. w6 w2 w x3 n) X6 l$ `
1 z: S W& k0 i1 X" Z, u8 G6 N// 以上与分析家兼容,所以沿用其结构和名称7 V, ], @" D/ v
, b3 O, \5 U! X1 r, X3 K// 以下为飞狐交易师扩展
7 l) O9 a$ k+ k0 X8 W
; D* d' @. u' W DWORD m_dwReserved; // 保留
3 J8 ~5 j1 {5 O char m_dwReserved2[3]; // 保留
1 M' v! e& T& o9 J- S% D7 s* o0 P, f
int m_nNumParam; // 调用参数数量
# Y* U3 A0 i' R# r& K& r; R CALCPARAM* m_pCalcParam; // 调用参数数组% ^' V$ L2 M4 V: F
- c4 p# V6 W4 M+ V8 M DWORD m_dwReservedEx[4]; // 保留
* P1 H: ?. N. `( C/ _/ w8 h, F! \1 P3 l" y4 C" i0 G+ C
char* m_strStkName; // 股票名称& _3 @& @8 {& b; r8 [
8 P5 W# k1 m# J' Y
SPLITDATA* m_pSplitData; // 除权数据
3 R" K3 g% E x7 Q; r" \$ d) H$ f9 d int m_nNumSplitData; // 除权次数
/ Q. P7 G ?! v" p6 _
. Y# M. Z2 t# D' R- l/ O4 f* [' B} CALCINFO;
* u" f% I; P: `% C9 D+ E- A7 ?
) O; s! W# Y; u+ V- ~ |