非常感谢您的及时回复!
# g, g ~; _% W. h$ o+ p6 Q5 {但我加了这个宏之后再运行,m_pSplitData、m_nNumSplitData最后两个字段还是乱的。
+ k, B4 j1 h* a另外,我一直使用的C++Builder 6,本身就是32位的。) E! I% a6 j& q0 N' }+ @& m8 V
* K) K) _* M4 i. ?" x. X9 H运行时刻仔细观察struct tagCALCINFO结构,所有字段值一直到m_pCalcParam,经验证,都是对的。# V( D$ l' ?7 c
那么,唯一的可能,是不是m_pCalcParam字段之后的结构定义有了变化?- `% l5 Q9 E O0 k. I& Y! ^
请问您能否给我一份最新的接口定义头文件,多谢!( ?- w( D3 d: e+ w
3 ^0 z9 P& \. I( m, F" [* t附上我手头的结构定义:0 z* h3 l c: I& d
//调用接口信息数据结构
% q# m( B5 R; H- vtypedef struct tagCALCINFO/ l/ ?: H( u9 @" q
{
- n& u) u7 P1 |+ R8 l DWORD m_dwSize; // 结构大小! H! Z8 @/ [+ _. |$ U6 f. u
DWORD m_dwVersion; // 调用软件版本(V2.10 : 0x210), _7 ^% n5 G7 F5 \$ D$ r& w( W
DWORD m_dwSerial; // 调用软件序列号
( Q2 E* F; Y) s, i! ?# u char* m_strStkLabel; // 股票代码
0 ?, M- I; t7 m) i- [# R3 ^) A BOOL m_bIndex; // 大盘
3 C/ k# r% p( O) x- L# h2 S! _5 |0 B+ i& y5 n/ a, x7 S) }
int m_nNumData; // 数据数量(m_pData,m_pDataEx,m_pResultBuf,m_pCalcParam[i].m_pfParam数据数量)
' u/ v" J# x% n. d! t STKDATA* m_pData; // 常规数据,注意:当m_nNumData==0时可能为 NULL, d) Q. t' _2 o* r
STKDATAEx* m_pDataEx; // 扩展数据,分笔成交买卖盘,注意:可能为 NULL5 D; H! R; Z6 W
9 k! O: H' D: g1 }( w) G int m_nParam1Start; // 参数1有效起始位置7 s! V5 |- u& |8 t
float* m_pfParam1; // 调用参数1
8 y$ R$ F- w1 w8 e" N) w& W float* m_pfParam2; // 调用参数2
^ G" G. u# v1 z7 C" d+ [ float* m_pfParam3; // 调用参数3/ j. A) k+ i3 m6 \: _2 I( o
float* m_pfParam4; // 调用参数3+ H" O0 W/ S* b0 ^) ^+ V9 V
. X7 e% c7 j$ U5 K float* m_pResultBuf; // 结果缓冲区
3 a7 Q0 V: H8 G- i) e9 c% I DATA_TYPE m_dataType; // 数据类型
, g! c4 C5 d* d C float* m_pfFinData; // 财务数据, ^8 V' W9 ~. `# F0 I! }
$ ?. M+ y5 {. f// 以上与分析家兼容,所以沿用其结构和名称
; G4 O. P9 y( ]' u) M* v" C0 g8 c! J$ D2 {8 M9 i, G8 D
// 以下为飞狐交易师扩展- Q- A$ `+ e9 b6 g; t
7 W- ^) R6 e/ v/ |, M! [ DWORD m_dwReserved; // 保留
' l- r" ~+ O- _1 d# } char m_dwReserved2[3]; // 保留2 F; q5 [# J- k% d) M# I
2 O" h1 K0 U. Q% K int m_nNumParam; // 调用参数数量. h9 C- |- F" \: r4 u, @
CALCPARAM* m_pCalcParam; // 调用参数数组
% s" z: ?# h: i$ f+ x2 Q
" L: K) d# C( t, Q/ w0 c DWORD m_dwReservedEx[4]; // 保留
$ R4 `" d# d7 v! k3 G1 _. l( h& }/ { A2 G
char* m_strStkName; // 股票名称: A0 R9 T' U+ L% G5 G* {9 b( A
! a; ?/ Y6 Q! T2 s, T
SPLITDATA* m_pSplitData; // 除权数据0 A" T: ~6 ~+ A* d1 O7 w p' O
int m_nNumSplitData; // 除权次数: D V# h5 V( B% x
$ S. Y! d2 b& B
} CALCINFO;9 v; Y9 f* O& q5 S' _# p* _$ }/ d5 i
, }* p6 @% z4 t% q! r2 o# R
|