非常感谢您的及时回复!1 d9 i; E# g' c3 U9 G
但我加了这个宏之后再运行,m_pSplitData、m_nNumSplitData最后两个字段还是乱的。
$ F; S" H$ W# `另外,我一直使用的C++Builder 6,本身就是32位的。
$ L- r5 H* ~. W4 H; v% m* o# Q! {9 ?% c3 s
运行时刻仔细观察struct tagCALCINFO结构,所有字段值一直到m_pCalcParam,经验证,都是对的。
2 [% g! f" Z' h/ e那么,唯一的可能,是不是m_pCalcParam字段之后的结构定义有了变化?# G$ R2 b* Q" \$ A( q( K5 M
请问您能否给我一份最新的接口定义头文件,多谢!
: k% w9 w C2 [) M1 Z
! K$ r, w) w8 s* Y附上我手头的结构定义:- j0 w- F& ~$ m/ m
//调用接口信息数据结构5 g& D2 H& W6 m: G! q3 c# |, M; e. q
typedef struct tagCALCINFO. |. V1 u& v" a% x
{ V3 n# \ L* w/ ^4 L4 V
DWORD m_dwSize; // 结构大小
$ M" n) L9 P) L3 G DWORD m_dwVersion; // 调用软件版本(V2.10 : 0x210)& y- f3 o, R! T+ Z
DWORD m_dwSerial; // 调用软件序列号
/ c" `4 Q& M& _' w7 L% ~9 | char* m_strStkLabel; // 股票代码
; W' m% R( \9 @* Z6 ^ BOOL m_bIndex; // 大盘' T) N: c) G6 X. R! Q- G2 T
: G- z9 X- }% Z% R int m_nNumData; // 数据数量(m_pData,m_pDataEx,m_pResultBuf,m_pCalcParam[i].m_pfParam数据数量)
+ ], f/ M3 U; T; V' o+ E STKDATA* m_pData; // 常规数据,注意:当m_nNumData==0时可能为 NULL
; ? Y* d+ J$ @ STKDATAEx* m_pDataEx; // 扩展数据,分笔成交买卖盘,注意:可能为 NULL
" H& }' b( X/ O$ k0 A w5 z# G D; `0 |- I! f* i3 }1 A
int m_nParam1Start; // 参数1有效起始位置, U9 c+ n( D; i/ W% S
float* m_pfParam1; // 调用参数1
: ?& `$ k: Y: r/ [ float* m_pfParam2; // 调用参数2
; o) ^$ _0 Q! i5 ?& M float* m_pfParam3; // 调用参数3
6 F g' m; {. I% Y float* m_pfParam4; // 调用参数3+ g d& J8 }! `# T
& x4 g# [6 \6 @4 q9 H3 T0 N
float* m_pResultBuf; // 结果缓冲区
* Y% C3 N6 E2 R! z N DATA_TYPE m_dataType; // 数据类型# V! `, |; { j+ ^9 A: ^6 d4 e
float* m_pfFinData; // 财务数据
3 _7 M5 T, }& e. G2 f
8 z8 g7 O" _8 i7 l9 Z/ K// 以上与分析家兼容,所以沿用其结构和名称
( q# _3 H3 T- A* |$ ?) }2 P/ {# f% J3 g! j1 Q, h
// 以下为飞狐交易师扩展
. Z* G& X, P. a( s
$ r: f, ^. f* z0 b! E9 P% P DWORD m_dwReserved; // 保留- O+ {# ?4 w: {! ]) r; s# ]
char m_dwReserved2[3]; // 保留
1 p/ K5 o3 t% j1 n0 i: m3 ?
; p8 d9 e& l1 d. a$ S' `7 R) v% B int m_nNumParam; // 调用参数数量
( W9 ~' P7 q0 B; e Q% N CALCPARAM* m_pCalcParam; // 调用参数数组$ @* ~. A8 V3 W" q& c( n( Z. I
1 a: q0 d. A. o- B DWORD m_dwReservedEx[4]; // 保留
8 Q- `, S+ a O3 D O: J" K
2 K$ U0 Y Z: i6 R char* m_strStkName; // 股票名称! k1 Q6 z6 x3 K$ b
# C) _( ~. {. w+ {# z7 P SPLITDATA* m_pSplitData; // 除权数据. k) l- b2 l/ ]+ t2 Y# C
int m_nNumSplitData; // 除权次数
0 O5 m6 w) I/ M! M! W$ [$ a! ^$ C! O& e: E" q2 ~! C) {
} CALCINFO;
# N! h% t% X" g, c) ] e L1 R$ C# M+ f3 P0 [
|