| 以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 高级功能研发区 (http://weistock.com/bbs/list.asp?boardid=5) ---- [讨论]对PCALCINFO 结构使用的疑问. (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=86397)  | 
    
| --  作者:stevenchen52 -- 发布时间:2015/10/20 12:00:55 -- [讨论]对PCALCINFO 结构使用的疑问. addindemo里的 
:g_pMainFormework->GetDataInfo(&stData))  的使用有个疑问,   希望有人指点一下. 疑问1:	PCALCINFO stData = {0};里面的m_pMainData 看定义是一个指针(HISTORY_STRUCTEx * ) 
例子程序里这个指针使用前不用初始化?  疑问2:下面的代码.执行下来取到1000个数据. 但数据很乱.  其中m_timeDate 都是0.  而且m_fClose也非常混乱. 是什么原因呢? 
谁能提供一个 比addindemo更加详细的例子程序可以参考. 谢谢. 
下面是源码: 
////////////////////////////////////////////////////////////////////////// 
void CMainWindowDlg::OnButton1Gedata()  
        { //读取上海市场的600000日线数据范例 PCALCINFO stData = {0}; stData.m_dataType = DAY_DATA;//日线 stData.m_bIsPow = 1; //是否复权 stData.m_wMarket = \'HS\'; strcpy(stData.m_szLabel,"600000"); //读取600000 浦发银行数据 int icount; if(g_pMainFormework->GetDataInfo(&stData)) { CString strText; for(int i = 0; i < stData.m_nNumData; i++) { strText.Format("%d 收%f", stData.m_pMainData[i].m_timeDate,stData.m_pMainData[i].m_fClose); WriteLog(strText); //.... } strText.Format("共取到%d个数据",stData.m_nNumData); AfxMessageBox(strText); } }  | 
    
| --  作者:王锋 -- 发布时间:2015/10/20 12:16:24 -- 1,你可以检索一下m_pMainData 的定义,范例代码中已经做了初始化了。 2,你应该是用的高版本编译器,time_t字段类型是64位的,金字塔要求是32位,你改成DWORD就好了  | 
    
| --  作者:stevenchen52 -- 发布时间:2015/10/20 12:54:07 -- 这个定义stData是个局部变量啊,你的意思是里面的数据在这个函数外做了初始化?     整个项目搜索了一下,貌似也没有找到.... void CMainWindowDlg::OnButton1Gedata()  { 
			//读取上海市场的600000日线数据范例 
			PCALCINFO stData = {0}; 
			stData.m_dataType = DAY_DATA;//日线 
			stData.m_bIsPow = 1; //是否复权 
			stData.m_wMarket = \'HS\'; 
			strcpy(stData.m_szLabel,"600834"); //读取600000 浦发银行数据 
			int icount; 
			if(g_pMainFormework->GetDataInfo(&stData)) 
			{ 
			CString strText; 
			for(int i = 0; i < stData.m_nNumData; i++) 
			{ 
			strText.Format("%d 收%f", stData.m_pMainData[i].m_timeDate,stData.m_pMainData[i].m_fClose); 
			WriteLog(strText); 
			//.... 
			} 
			strText.Format("共取到%d个数据",stData.m_nNumData); 
			AfxMessageBox(strText); 
			} } 
         | 
    
| --  作者:王锋 -- 发布时间:2015/10/20 13:54:31 -- 抱歉之前没理解你的意思,m_pMainData 这个指针的地址是调用返回后,金字塔内部分配好的,你无需初始化的。  | 
    
| --  作者:stevenchen52 -- 发布时间:2015/10/20 14:22:06 -- 谢谢,看到希望了.  |