等级: 新手上路
- 注册:
- 2022-4-5
- 曾用名:
|
楼主 |
发表于 2022-7-8 10:41
|
显示全部楼层
麻烦老师,
我是想利用AddinInterface.h中的接口GetReportDataxiang以获取给定wMarket的所有产品列表
AddinInterface.h接口定义如下:
//取指定分类板块的品种数组
//pBlock 存放品种的缓冲区地址
//dwMaxCount 缓冲区存放品种数量大小
//szName 为分类或者板块名称,如"上海A股"等
//nMode 为类别,0市场分组,1分类板块,2系统板块(品种栏对应)
//返回值:返回读取到的品种数量
virtual DWORD GetReportData(BLOCK_STRUCT * pBlock, DWORD dwMaxCount, char * szName, int nMode) = 0;
--------------------------------------------------------------------------------------------------------------------------------------
我的程序如下,请老师看看“是否是我的传入参数用错了”?
例如nMode用错了, 导致取不到688*** 30****开头的产品
注:本函数目前取60**** 00****开头的股票是正常的
int CDataPrepareManage::BlockStructData(char * szName)
//调用的品种代码 调用的品种市场,比如上海为'HS' 深圳为'ZS'
{
//取指定分类板块的品种数组
//szName为分类或者板块名称,如"上海A股"等,nMode为类别,0市场分组,1分类板块,2系统板块(品种栏对应)
BLOCK_STRUCT pBlock[3000]; //尽可能分配一个大数组用户存放调取的板块数据
DWORD dwMaxCount = 3000;//数组大小
DWORD dwResult = g_pMainFormework->GetReportData(pBlock,dwMaxCount,szName, 0);
if(dwResult > 0)
{
gBlock_Struct_Array.SetSize(dwResult);
memcpy(gBlock_Struct_Array.GetData(),&pBlock,sizeof(BLOCK_STRUCT)*dwResult);
}
//LOG_DEBUG_INFO( "c:\\MyData.txt", "sizeof(BLOCK_STRUCT)*dwResult=%d %d %d",sizeof(BLOCK_STRUCT)*dwResult,sizeof(BLOCK_STRUCT),dwResult);
return 0;
}
|
|