非常感谢您的及时回复!
/ b4 I8 M0 x# t$ Z+ S" s1 h2 w但我加了这个宏之后再运行,m_pSplitData、m_nNumSplitData最后两个字段还是乱的。
0 X4 y5 q9 {9 C. d% x0 W/ b& Y另外,我一直使用的C++Builder 6,本身就是32位的。: e2 n8 Q; T& M" `
( T2 Q0 I' k( ^6 t# ]: v& _& v
运行时刻仔细观察struct tagCALCINFO结构,所有字段值一直到m_pCalcParam,经验证,都是对的。: k2 h9 I A$ v
那么,唯一的可能,是不是m_pCalcParam字段之后的结构定义有了变化?
- \- c+ a+ Y2 [. n/ D$ _请问您能否给我一份最新的接口定义头文件,多谢!
7 E3 c0 t0 J, V3 @
3 ?) |6 v7 O% v' @- I附上我手头的结构定义:' z/ t( y z, A8 D. x. r$ h9 X
//调用接口信息数据结构
7 r8 I8 u) E( b8 I" y8 c' ctypedef struct tagCALCINFO
9 z' w) a n8 c{
/ A5 Q; @5 Q: z# B8 F O' `( n DWORD m_dwSize; // 结构大小
" P- Z1 k' X" D7 v; a DWORD m_dwVersion; // 调用软件版本(V2.10 : 0x210)
; c$ J1 I t- u; W- m. G6 O; f DWORD m_dwSerial; // 调用软件序列号
& z* P* i; J; V char* m_strStkLabel; // 股票代码/ }- R8 z; H% x4 A, f1 n# d
BOOL m_bIndex; // 大盘
! u0 W1 ]1 {9 Q3 x
9 @- ~2 j( l0 D int m_nNumData; // 数据数量(m_pData,m_pDataEx,m_pResultBuf,m_pCalcParam[i].m_pfParam数据数量)7 a5 q/ V' y' @
STKDATA* m_pData; // 常规数据,注意:当m_nNumData==0时可能为 NULL! w- e3 K- y) }8 o
STKDATAEx* m_pDataEx; // 扩展数据,分笔成交买卖盘,注意:可能为 NULL
3 u: W! j9 Q$ ]( a
8 z2 q0 v+ {* T" r! y6 W2 g& X int m_nParam1Start; // 参数1有效起始位置, [- p3 y0 H) f7 b! u
float* m_pfParam1; // 调用参数1# K$ q$ c2 O/ v l
float* m_pfParam2; // 调用参数2 F* a( c& ?6 C, S( J' j* v/ V
float* m_pfParam3; // 调用参数3
! S ^2 R7 G. q( _1 U float* m_pfParam4; // 调用参数3
; p! Z U% ?3 {2 {% p/ y2 q( a
float* m_pResultBuf; // 结果缓冲区
4 ~( B* h z2 Q, a) c4 B8 N DATA_TYPE m_dataType; // 数据类型
2 G2 O/ V& N9 h. R6 X+ W float* m_pfFinData; // 财务数据- @4 c6 W4 W* W D
) b/ y$ X! {0 I& M7 R
// 以上与分析家兼容,所以沿用其结构和名称) S( |+ Y/ r. T: W8 ^
2 q& u" ?- U$ s* b7 U$ }4 w
// 以下为飞狐交易师扩展
$ @+ c: Z0 s6 S6 c3 Q! c
5 w. V: R' ~7 `9 y9 P( F DWORD m_dwReserved; // 保留4 ]) w% l2 ~. F; s" ]3 W
char m_dwReserved2[3]; // 保留
$ @* g& u# U( q" A2 b B3 N4 l, O
8 j1 F% P; F3 B( t# d1 c int m_nNumParam; // 调用参数数量
" }3 \& q: f- F4 _8 S CALCPARAM* m_pCalcParam; // 调用参数数组& V/ ]# V5 } _) O" n% g/ V
- B' P( g( P0 R, v `+ }
DWORD m_dwReservedEx[4]; // 保留" n$ l" W4 W* p& A2 y
' t- Y- k. q! n3 @$ X9 g- D char* m_strStkName; // 股票名称$ y' b) O! l, K
* }( E8 f1 r2 Y/ w+ H
SPLITDATA* m_pSplitData; // 除权数据
# K, R2 e% z+ h6 n) u int m_nNumSplitData; // 除权次数: d4 A/ L( o* o) i2 K8 c
/ u' v' R3 ~6 C1 }& f5 t
} CALCINFO;
8 \) z5 |1 [( ?7 ^
: ?/ `$ ?3 a: c& l6 W7 [ |