非常感谢您的及时回复!2 T. \7 Q7 I/ H3 X( [7 l' a
但我加了这个宏之后再运行,m_pSplitData、m_nNumSplitData最后两个字段还是乱的。
; y2 J& @ z6 Z9 I& U& `另外,我一直使用的C++Builder 6,本身就是32位的。
# y" u: ?" Q& a- Q+ |+ F1 [* Y! p7 y( I
运行时刻仔细观察struct tagCALCINFO结构,所有字段值一直到m_pCalcParam,经验证,都是对的。8 X4 ?; b7 \7 z9 W8 l! c
那么,唯一的可能,是不是m_pCalcParam字段之后的结构定义有了变化?
& f* Q1 g; b/ T* W( o' I请问您能否给我一份最新的接口定义头文件,多谢!3 s. A: \! T2 k. K5 W+ u
# _" Z/ ?' o: D( ]1 {4 e$ g. M
附上我手头的结构定义:
) K6 F# T$ A8 l& p& S//调用接口信息数据结构1 k" R! r9 Y- K$ h" o, c
typedef struct tagCALCINFO# [! R9 a0 E3 M* U" M$ K
{" @5 _* E- Y" h; B
DWORD m_dwSize; // 结构大小8 V p. @/ F- p* X: Y0 T& m2 D
DWORD m_dwVersion; // 调用软件版本(V2.10 : 0x210)
6 @+ Z4 a) v; d1 C& P' J' j4 V DWORD m_dwSerial; // 调用软件序列号
# ~% v! p6 J' |, l! p( }) C char* m_strStkLabel; // 股票代码
1 I* B9 {: _0 t8 {6 n9 H1 ?; s# E BOOL m_bIndex; // 大盘
; @- R5 b6 f4 ]) P8 o7 \0 z, R, v7 Q/ d6 H: M
int m_nNumData; // 数据数量(m_pData,m_pDataEx,m_pResultBuf,m_pCalcParam[i].m_pfParam数据数量)$ E: g( J0 S' ]: c: M! Q0 L1 k
STKDATA* m_pData; // 常规数据,注意:当m_nNumData==0时可能为 NULL
8 q4 `4 b* _, x5 H, H STKDATAEx* m_pDataEx; // 扩展数据,分笔成交买卖盘,注意:可能为 NULL2 ^0 }, W% j& X- G) |3 \0 q
1 O6 g7 z% h" |5 A
int m_nParam1Start; // 参数1有效起始位置1 M1 j0 D( O; E8 r
float* m_pfParam1; // 调用参数13 s( D- H3 r; p
float* m_pfParam2; // 调用参数2# y5 i, |# T, b' P% G. H6 K& L
float* m_pfParam3; // 调用参数3: ]! |7 S* h7 ]5 P y0 }) R4 T
float* m_pfParam4; // 调用参数3
' T8 ~4 ^8 Q, h4 D# W5 C/ P) X9 s: d
float* m_pResultBuf; // 结果缓冲区
0 Y3 _- L7 C+ `! r1 b! H1 o9 B DATA_TYPE m_dataType; // 数据类型; ?3 `$ A- A. s5 h2 p5 O
float* m_pfFinData; // 财务数据
0 M$ `, M. [ @: K1 H, ^1 K
0 b6 x! l7 `9 E- A j// 以上与分析家兼容,所以沿用其结构和名称* k2 X4 o+ `0 H8 f+ E
; [4 i* ~9 h( s
// 以下为飞狐交易师扩展- q4 Q8 e* F% ]) t/ b- x6 r4 M
3 D! H) g6 u, s* k& X DWORD m_dwReserved; // 保留5 i* N$ s( l. i
char m_dwReserved2[3]; // 保留+ j8 C0 t0 z9 H- q2 y
4 f) j I" F5 F& {0 _1 z" N! A int m_nNumParam; // 调用参数数量
0 g: ?# K5 i6 H0 A+ v CALCPARAM* m_pCalcParam; // 调用参数数组
0 g# J( n5 b: {0 ^& M1 e% Z/ Y" w) F& G W' t) e
DWORD m_dwReservedEx[4]; // 保留 r d* b8 @; f& w9 n
% j: o" y( {$ E, o. c
char* m_strStkName; // 股票名称! M' p/ N( I" i. A
l3 ^2 T* O8 c; V3 {
SPLITDATA* m_pSplitData; // 除权数据8 j7 J& N m9 P
int m_nNumSplitData; // 除权次数+ m% K M8 g% }/ ?
+ H* B# A/ X! G# X$ b/ E5 C
} CALCINFO;$ `" f; V' ? d- z9 _6 X% b9 a" w
# ^# S1 }, G) b |