非常感谢您的及时回复!, d/ r9 _& P$ s% L6 O) t
但我加了这个宏之后再运行,m_pSplitData、m_nNumSplitData最后两个字段还是乱的。
@2 K2 y( t" B) l* U另外,我一直使用的C++Builder 6,本身就是32位的。
* s4 E' ^0 p% G( c' y5 D" l, A% Y; d- u! F
运行时刻仔细观察struct tagCALCINFO结构,所有字段值一直到m_pCalcParam,经验证,都是对的。# i% a( [9 }6 U" G
那么,唯一的可能,是不是m_pCalcParam字段之后的结构定义有了变化?
* n7 s1 R8 T6 B+ n) t; u请问您能否给我一份最新的接口定义头文件,多谢!
; m( V! _3 O" Z3 v/ U2 u: l" E, J4 Y0 {% q9 D* s3 N
附上我手头的结构定义:
* q1 n9 f: ^1 O. i P/ \! d0 F* R//调用接口信息数据结构
c+ m0 N/ u. r; ^- ttypedef struct tagCALCINFO1 D! i& _' P5 L/ d3 O' L8 t, H5 a1 ~
{
& n9 H( l! ^1 K$ t* W0 h DWORD m_dwSize; // 结构大小7 O% b: p6 I4 H2 n2 ~9 V4 l
DWORD m_dwVersion; // 调用软件版本(V2.10 : 0x210) b5 K* h+ h; C X, w
DWORD m_dwSerial; // 调用软件序列号
; C* Y- S/ I1 H' H$ f" M" F+ S char* m_strStkLabel; // 股票代码
+ T5 L9 L' j0 _ BOOL m_bIndex; // 大盘& e8 n* S4 o2 {' |
7 j- T8 L1 \' b: n& `6 t int m_nNumData; // 数据数量(m_pData,m_pDataEx,m_pResultBuf,m_pCalcParam[i].m_pfParam数据数量)/ u* I3 t1 }# c# B
STKDATA* m_pData; // 常规数据,注意:当m_nNumData==0时可能为 NULL
' v3 Z Y V+ R7 W8 g: ~ STKDATAEx* m_pDataEx; // 扩展数据,分笔成交买卖盘,注意:可能为 NULL
( Q5 j6 c' l" F% b! C6 J# A8 F' A9 C# D3 ~7 U, [1 Q3 V# k
int m_nParam1Start; // 参数1有效起始位置- O4 \: b. ^ K1 R
float* m_pfParam1; // 调用参数10 w' Q5 Q: z1 O3 ]" M. A7 \) q
float* m_pfParam2; // 调用参数2
, k9 o! m( E. V: v float* m_pfParam3; // 调用参数3- Z) R3 R( P7 ?
float* m_pfParam4; // 调用参数34 Y1 J+ Q* P3 s& x
2 v8 x/ }& Q. H W1 K; K4 N6 Q
float* m_pResultBuf; // 结果缓冲区" J, V$ R0 `0 u+ b) D5 I2 A' @) R
DATA_TYPE m_dataType; // 数据类型 A7 W8 W3 H' h C* T a2 L& C
float* m_pfFinData; // 财务数据: ]/ u* F6 _$ G: I5 g; J6 Z9 q
9 V( o# p% O' O% k6 n, j: v
// 以上与分析家兼容,所以沿用其结构和名称
4 A1 j4 y, s- t% e- t: s$ x) ~( }9 o
// 以下为飞狐交易师扩展
# ]' U6 x Z' v3 y
( z+ b# }3 P1 | DWORD m_dwReserved; // 保留
" \& {2 G U2 J: L( ?' q char m_dwReserved2[3]; // 保留
) q* P# p$ H- R2 n; d
) [: r r2 w, q$ ?* y int m_nNumParam; // 调用参数数量
2 J. h1 I% O, q/ w E* n CALCPARAM* m_pCalcParam; // 调用参数数组
, c" |6 `( ?4 B* A+ T
! [# G. u. N" m* i! [5 t) w5 I: E DWORD m_dwReservedEx[4]; // 保留1 {- W8 O/ y5 o% x4 p$ m; i9 [
5 G( k" ?: ~5 @7 e) H char* m_strStkName; // 股票名称
+ S: P$ i: _5 b" p2 Y; |- o$ s& V1 j k" j3 r$ q% k( Y; O. f6 \# a
SPLITDATA* m_pSplitData; // 除权数据% U- {/ v! O& l/ {! [
int m_nNumSplitData; // 除权次数
8 s* r2 C; f1 @6 F( o$ J% p+ h$ p6 p+ k5 m& Q
} CALCINFO;
( ^" D7 q7 C2 _: m8 p+ G9 ~. S. K( F0 h- m5 _
|