非常感谢您的及时回复!# c, m9 c5 G3 E
但我加了这个宏之后再运行,m_pSplitData、m_nNumSplitData最后两个字段还是乱的。
" I2 N, l" t$ e4 v1 Q另外,我一直使用的C++Builder 6,本身就是32位的。
; z: G( v3 o1 M- I t1 n# a8 w1 v5 T. {* v: `- J2 r
运行时刻仔细观察struct tagCALCINFO结构,所有字段值一直到m_pCalcParam,经验证,都是对的。
$ A" F# y% k" U$ ~0 K( l9 U; `那么,唯一的可能,是不是m_pCalcParam字段之后的结构定义有了变化?
2 n( s9 X& [( [请问您能否给我一份最新的接口定义头文件,多谢!
- ]" F$ e0 b* ~7 b y1 R/ N% l- \' b4 o& W1 c, ?5 y) D7 E
附上我手头的结构定义:
1 z$ Q5 l/ K8 P9 P0 g( [( u0 c//调用接口信息数据结构( _; J6 ?! y% p y; a" {( Y. d3 |
typedef struct tagCALCINFO- ^/ S7 h: b7 ^" N8 d7 }* Q) {
{
) o* C7 y% A& v! Y DWORD m_dwSize; // 结构大小* \* E* n' |$ ]$ r/ b; T, G e
DWORD m_dwVersion; // 调用软件版本(V2.10 : 0x210)+ U6 m) c5 m) {2 j# D: F G6 i
DWORD m_dwSerial; // 调用软件序列号
* Y- \9 X3 s& }$ V7 U( m char* m_strStkLabel; // 股票代码3 B9 c) t: A: j5 r
BOOL m_bIndex; // 大盘
7 k- O: N {# j$ G
3 i1 v3 Z6 I( k1 _$ c8 K3 O3 y% U1 c/ @ int m_nNumData; // 数据数量(m_pData,m_pDataEx,m_pResultBuf,m_pCalcParam[i].m_pfParam数据数量)
- t' Q* {+ T0 m- _! o STKDATA* m_pData; // 常规数据,注意:当m_nNumData==0时可能为 NULL) {4 Y' k" L7 g( x1 a" [# N
STKDATAEx* m_pDataEx; // 扩展数据,分笔成交买卖盘,注意:可能为 NULL; r' n! O% U6 w; l6 K
3 m0 P" _4 `8 ]( s2 E int m_nParam1Start; // 参数1有效起始位置# Z L! a6 s- g0 P' e- V) _0 x n
float* m_pfParam1; // 调用参数1
' m2 F5 K5 N' s w3 R, w! y float* m_pfParam2; // 调用参数2
' w9 g1 a U, R* d& |. J; p! k float* m_pfParam3; // 调用参数3
4 }( z% k' {1 ^. a. k float* m_pfParam4; // 调用参数3
# Y: k2 D8 b( k( A4 X& T" n: L( }. w2 V) T' [
float* m_pResultBuf; // 结果缓冲区
: L! @$ f4 P/ k, Y. r5 ? DATA_TYPE m_dataType; // 数据类型( j. y- O# t! R! g
float* m_pfFinData; // 财务数据' I" ?0 m: E( {/ U
b% e1 t; d) k/ ^7 m+ Z// 以上与分析家兼容,所以沿用其结构和名称
+ L2 j" [/ j7 F4 C0 A
1 q! `) Z# {# X; s2 P- {% V// 以下为飞狐交易师扩展
; |' `4 C: [' a( r3 [. T# Z: Q3 c) ^4 d( O
DWORD m_dwReserved; // 保留/ f- N, F0 f: D3 U
char m_dwReserved2[3]; // 保留
* l& J6 y X% T0 R9 |; r3 h! Q
* [, P) _$ A) R. w int m_nNumParam; // 调用参数数量
9 O6 e; w0 O4 g B CALCPARAM* m_pCalcParam; // 调用参数数组
: G9 }0 q. b$ [* a! r- d& A' v$ F* _. K$ r) H3 M3 p1 m* G) [
DWORD m_dwReservedEx[4]; // 保留
! f: \, T* L& j3 ~, i. M1 _4 Z1 P5 M# ^; S2 C2 D2 s
char* m_strStkName; // 股票名称
. e" V- G0 \9 [* B% X5 ~4 ]1 s B; C+ e. S9 `! E
SPLITDATA* m_pSplitData; // 除权数据3 p2 g. a( p( h) Q
int m_nNumSplitData; // 除权次数
- y) [; _+ w$ H2 i
% ^! |2 k3 A6 Z3 h} CALCINFO;
: M; J V0 g. N5 [8 L$ \# N$ U0 i9 Q8 z
|