非常感谢您的及时回复!9 m$ T# B# j9 i
但我加了这个宏之后再运行,m_pSplitData、m_nNumSplitData最后两个字段还是乱的。% P" V+ Y- e4 N2 D; F. V% F {0 U7 @* n
另外,我一直使用的C++Builder 6,本身就是32位的。
9 \$ f; @* ~ R& f7 f# v- R( d2 w( A/ s- c/ Y
运行时刻仔细观察struct tagCALCINFO结构,所有字段值一直到m_pCalcParam,经验证,都是对的。
! \: Z8 @+ x) K! K那么,唯一的可能,是不是m_pCalcParam字段之后的结构定义有了变化?
3 J1 O1 F$ S) ?8 T2 y- t/ G请问您能否给我一份最新的接口定义头文件,多谢!
) c5 d! b; u f. J2 N4 Y* g8 K9 X
附上我手头的结构定义:2 |) B4 u1 y& }0 S
//调用接口信息数据结构
/ x/ K2 V3 a9 `# W& S% E$ dtypedef struct tagCALCINFO
4 a/ @5 o! p# r6 y" E; ]{
3 z! [, A. R# L, a4 ^7 @) P DWORD m_dwSize; // 结构大小
5 C' F' e A+ T7 l4 d DWORD m_dwVersion; // 调用软件版本(V2.10 : 0x210)
) `, v: q& {1 S" O DWORD m_dwSerial; // 调用软件序列号6 _+ X, X6 ?# V* r _: Z
char* m_strStkLabel; // 股票代码+ R. Y9 E; t& v$ o0 X3 ~
BOOL m_bIndex; // 大盘: q4 F5 ]0 k5 U
7 N4 ?) _* I6 }# p int m_nNumData; // 数据数量(m_pData,m_pDataEx,m_pResultBuf,m_pCalcParam[i].m_pfParam数据数量), q! n+ H9 g5 j% i4 o
STKDATA* m_pData; // 常规数据,注意:当m_nNumData==0时可能为 NULL7 T9 Z9 u) I4 M' I$ f* I
STKDATAEx* m_pDataEx; // 扩展数据,分笔成交买卖盘,注意:可能为 NULL
3 K4 |. D6 P9 p0 S' n8 r1 g+ c# g8 ]7 o* e6 j3 G
int m_nParam1Start; // 参数1有效起始位置
; G+ e. C2 T0 _! f float* m_pfParam1; // 调用参数17 x) `4 ]! f6 G
float* m_pfParam2; // 调用参数2) K. b0 r) _6 w6 p- r6 r8 j
float* m_pfParam3; // 调用参数3
5 J4 M: i7 u, Q! i float* m_pfParam4; // 调用参数3/ `7 v& b2 @! O. A& b" T
' N: D/ Y7 L0 W: y2 q
float* m_pResultBuf; // 结果缓冲区
2 X; P2 J( O' z3 ~6 \ DATA_TYPE m_dataType; // 数据类型
5 k) n# [& M, h# D( l4 ]0 Q' g float* m_pfFinData; // 财务数据
, K7 r- [7 B V4 P" x5 E
* G* Q4 C$ O. ~" }// 以上与分析家兼容,所以沿用其结构和名称& j( @: b, O# O) r' M! F
6 i4 H' S: e7 E$ q0 R1 l) ?// 以下为飞狐交易师扩展+ ^( J3 Y: @, j/ ~5 o `
5 ?5 I8 ~* [3 c8 w% t7 K* v DWORD m_dwReserved; // 保留1 f' c J) U1 B( {4 s# g7 m
char m_dwReserved2[3]; // 保留
& r' y5 q& |) C4 d3 h' l- D2 o6 s& ~+ u+ A7 Y8 {2 i9 n. L
int m_nNumParam; // 调用参数数量
8 @2 S9 G+ N1 p3 d CALCPARAM* m_pCalcParam; // 调用参数数组0 W6 x) c; P4 w& D, k2 ]) N# ^
; b) g, W) z$ s" m# f) H' _2 E
DWORD m_dwReservedEx[4]; // 保留
' \3 ]; e2 ~1 F4 g+ s2 `: ?- G
e. ]! r1 H! A" s: S1 Z" H5 N a char* m_strStkName; // 股票名称; s7 ^9 I. B1 ^/ Y i
: @: t* ^9 Z% j4 \
SPLITDATA* m_pSplitData; // 除权数据
% l7 {0 s& R+ S2 W9 j4 m2 j int m_nNumSplitData; // 除权次数
. u' ^/ | @3 K0 d% ]4 c! V6 x3 `# r) p% K
} CALCINFO;( v R& v0 s! O0 h' F$ ]
$ }2 x) ?4 B' w) h; d4 j3 u |