非常感谢您的及时回复!) {! [. p. d1 J
但我加了这个宏之后再运行,m_pSplitData、m_nNumSplitData最后两个字段还是乱的。3 s( U8 p1 I# |
另外,我一直使用的C++Builder 6,本身就是32位的。
+ A/ k$ M! A. h
& p; u* {5 R; _& C运行时刻仔细观察struct tagCALCINFO结构,所有字段值一直到m_pCalcParam,经验证,都是对的。
8 T( I" ]- D6 R* M+ I那么,唯一的可能,是不是m_pCalcParam字段之后的结构定义有了变化?
, k1 f1 L; q$ v8 V请问您能否给我一份最新的接口定义头文件,多谢!
2 Y. [. ~8 b2 m# j: P9 O5 C( H! J9 [6 b
. k5 q1 @' g9 x附上我手头的结构定义:
' ^) K! F: y: P2 d9 J" ~//调用接口信息数据结构
" A" o I! p9 w5 N6 Jtypedef struct tagCALCINFO
4 {# z+ E: o0 K, R. S6 d& V{7 X4 P- r, }( y$ P0 K- O4 \
DWORD m_dwSize; // 结构大小
- y( N* Y( K. s1 P2 y9 Q5 I+ a DWORD m_dwVersion; // 调用软件版本(V2.10 : 0x210)
0 L& y& N0 _! {3 A/ U8 Q DWORD m_dwSerial; // 调用软件序列号9 r/ l7 _6 [0 i. Y# H; _
char* m_strStkLabel; // 股票代码
3 k3 D6 K& Q0 z, J8 R" d BOOL m_bIndex; // 大盘# I1 W' P' W/ B7 Q
4 B$ ?+ H- V! x& a- [7 k int m_nNumData; // 数据数量(m_pData,m_pDataEx,m_pResultBuf,m_pCalcParam[i].m_pfParam数据数量)
& E% |2 E2 F ?) g; w* m# ` STKDATA* m_pData; // 常规数据,注意:当m_nNumData==0时可能为 NULL
# c; G: ]" h1 D/ Q/ G' R, Z& H STKDATAEx* m_pDataEx; // 扩展数据,分笔成交买卖盘,注意:可能为 NULL
; S/ z& V& `9 ]; ~' u7 Q3 `: F
3 g* y$ q& A4 T int m_nParam1Start; // 参数1有效起始位置
7 G$ o0 |" A+ o4 ^% u% p+ |9 p float* m_pfParam1; // 调用参数1
& o4 {1 K, D0 l, X5 u0 |3 W. D float* m_pfParam2; // 调用参数2% {* @4 z$ u/ y# b7 }7 [4 C+ X# i
float* m_pfParam3; // 调用参数32 b, i: A9 S3 W! U }4 J
float* m_pfParam4; // 调用参数3
: }- L" Q, _0 A
% B9 `! t w+ g1 G! Y float* m_pResultBuf; // 结果缓冲区# b0 K/ I9 [2 Y0 w
DATA_TYPE m_dataType; // 数据类型
; u* _5 a% W1 A) f, V3 r float* m_pfFinData; // 财务数据9 N* s# I0 p( o4 O
) Q2 c7 |3 E% M! K+ W
// 以上与分析家兼容,所以沿用其结构和名称
. V, b( q# P |3 L
/ ?: j( i" v7 u5 I// 以下为飞狐交易师扩展( t7 |# J2 h) Y: I; o4 q9 D
! u5 A/ ^4 m6 J% ~) H! K% v
DWORD m_dwReserved; // 保留: M) w" E$ s& I+ ~! A1 h
char m_dwReserved2[3]; // 保留
7 V$ p3 t; Y% B8 L
+ F, E* `- J! X5 S int m_nNumParam; // 调用参数数量
1 Z2 {9 Z6 \) s! j0 ?; [- p' x CALCPARAM* m_pCalcParam; // 调用参数数组
s3 ^& r' D- [ P! ^- A4 \5 u5 Z7 r! L: L/ Q, t5 \
DWORD m_dwReservedEx[4]; // 保留: S- x$ O) z1 o4 n( v& j0 k. G
, j4 ~# H Y# L( D# A/ k6 Y char* m_strStkName; // 股票名称
, q( u K& Y( i) C% o
& k2 H, U. ~$ k+ o SPLITDATA* m_pSplitData; // 除权数据1 C$ c' {5 [) O* P
int m_nNumSplitData; // 除权次数" P9 ^5 @6 L6 ^1 S0 w
, ^& B7 \3 `- P" I9 X1 ?3 |$ E} CALCINFO;! w4 G0 X: X% S5 _( Z: Y
G( s! b0 t% l+ q6 m( }9 E& p
|