非常感谢您的及时回复!- s+ r0 W8 M) Q; ?. K% s2 i: z: X
但我加了这个宏之后再运行,m_pSplitData、m_nNumSplitData最后两个字段还是乱的。
e9 z- M4 |" G2 Z另外,我一直使用的C++Builder 6,本身就是32位的。: {8 E4 N8 Q' ]. {; w
' c0 Y* U/ X- m. _' c" }2 z
运行时刻仔细观察struct tagCALCINFO结构,所有字段值一直到m_pCalcParam,经验证,都是对的。
; ?& E1 I$ _" f那么,唯一的可能,是不是m_pCalcParam字段之后的结构定义有了变化?
* j& ^$ z3 t! ]( v! @9 A# J请问您能否给我一份最新的接口定义头文件,多谢!
5 Y; i' f! _7 q, O$ r+ b. `' y# v
1 _3 Z9 w/ R+ g- W! X, H6 ]附上我手头的结构定义:
6 H+ W6 B, {( D: L' e! D//调用接口信息数据结构
; d' x. z. `3 I0 g/ G' N, j# Ztypedef struct tagCALCINFO: F0 X' `: U2 E$ g5 S1 M- x0 ^
{
t2 Q/ U3 h8 H& x DWORD m_dwSize; // 结构大小
# g$ k3 k1 m1 ]0 ], z8 L DWORD m_dwVersion; // 调用软件版本(V2.10 : 0x210)
) u% {9 @3 q) ~ DWORD m_dwSerial; // 调用软件序列号
; w( ^$ D- F3 m# X; [ char* m_strStkLabel; // 股票代码7 }, e/ H; g# o/ g$ A
BOOL m_bIndex; // 大盘: R3 }) a+ N7 B0 N( y- L) u# i
3 b8 J4 q; k9 T7 ~- W: z7 r
int m_nNumData; // 数据数量(m_pData,m_pDataEx,m_pResultBuf,m_pCalcParam[i].m_pfParam数据数量)' a! m1 K& w5 R& E3 X
STKDATA* m_pData; // 常规数据,注意:当m_nNumData==0时可能为 NULL9 S0 [4 U& F8 Z( [$ P4 d
STKDATAEx* m_pDataEx; // 扩展数据,分笔成交买卖盘,注意:可能为 NULL( l/ v) R' @$ N9 x
! `. t7 s/ q& L1 a6 z& ] int m_nParam1Start; // 参数1有效起始位置* K. U B& B! H- }, @/ b
float* m_pfParam1; // 调用参数1
, U, g: {! y# u& j* x5 v float* m_pfParam2; // 调用参数2( l: y8 w4 J" f) \# t$ ]* [
float* m_pfParam3; // 调用参数3
( Q d' J* `3 P$ [4 _5 D }( p float* m_pfParam4; // 调用参数39 v, `5 l2 e1 h/ X1 L- q" ^
$ w" l, d+ I0 J7 {. I0 a3 _% k float* m_pResultBuf; // 结果缓冲区7 F! @) j, R6 U) f/ f& C5 I8 Y: G
DATA_TYPE m_dataType; // 数据类型
; _* |3 i% s+ } float* m_pfFinData; // 财务数据
5 ^: Y; c2 K% e. c9 R% J/ K$ t) p: v0 d
// 以上与分析家兼容,所以沿用其结构和名称
; d+ ?/ J8 O( l! D9 U7 r3 ]
8 X( ]0 r7 B$ O8 C, {# o// 以下为飞狐交易师扩展
$ f; }- K7 }' z4 S; ^' z! |% D
- ~, ~9 x1 {8 y% t1 B/ H" { DWORD m_dwReserved; // 保留* U) W$ {1 N4 M7 \
char m_dwReserved2[3]; // 保留
5 _1 i; }/ X* e5 a" X
5 U b8 S+ L1 Y) {# q$ U" C7 X; K. c int m_nNumParam; // 调用参数数量
7 n0 U9 u4 \, C6 X+ q$ T CALCPARAM* m_pCalcParam; // 调用参数数组
- f) K# R" e1 }5 h
( i5 Z' g6 e, V7 a' {8 v9 f+ U0 a DWORD m_dwReservedEx[4]; // 保留3 \4 l! n# _2 [9 p% h. g; M
, }% \( A# Y2 G( P
char* m_strStkName; // 股票名称( O% [* K% _' B
' w3 w/ T5 T5 y
SPLITDATA* m_pSplitData; // 除权数据8 M& O5 b# f; f# u4 c- h1 M3 I& I6 B& L1 n
int m_nNumSplitData; // 除权次数
7 e0 x6 x4 ~- T# Z" k6 v- S$ v! a9 a, n
} CALCINFO;
$ _! Z, `" Q# Y8 K3 n9 [
$ z0 |/ [0 b+ l9 [8 H |