typedef struct
{
COleDateTime m_time;//时间
float m_data;//数据
}tdime;/*******************上面为自定义结构体***************************/class __declspec(dllexport) CFore: public CObject
{
DECLARE_SERIAL(CFore)
public:
CFore();
virtual ~CFore();
void Serialize(CArchive& ar);public:
COleDateTime dFACBEGTIME;//预报因子序列起始时间
COleDateTime dFACENDTIME;//预报因子序列结束时间
CObArray caResult;//预报结果
};/*****************以上为头文件中定义**************************************/
/******下面为CPP***************************************/
extern __declspec(dllexport) void YUWEN(CFore *m_param)
{CArray<tdime,tdime>*pArr1=new CArray<tdime,tdime>; tdime tmp;
int pp=m_param->caResult.GetSize();
COleDateTimeSpan timeSpan;
timeSpan = m_param->dFACENDTIME-m_param-> dFACBEGTIME;
int nDay = timeSpan.GetDays()+1;
COleDateTime time1=m_param-> dFACBEGTIME;
CArray<tdime,tdime>*pArr1=new CArray<tdime,tdime>;
fot(int tt=0;tt<nDay;tt++)
{
COleDateTimeSpan span(tt,0,0,0);
x[tt]=tt*tt
tmp.m_date=x[tt];
tmp.m_time=time1+span;
pArr1->Add(tmp);
}
for(io=0;io<pp;io++)
{
CArray<tdime,tdime>*pArr=(CArray<tdime,tdime>*)m_param->caResult.GetAt(io);
delete pArr;
}
m_param->caResult.RemoveAll();
m_param->caResult.Add(pArr1);
}这是在DLL里的编译,我这里需要把结果想x[tt]压入到caResult中去,这是我写的,但是总是压不进去,最后结果输出的是数据m_date与时间的对应m_time求教各位大侠!
{
COleDateTime m_time;//时间
float m_data;//数据
}tdime;/*******************上面为自定义结构体***************************/class __declspec(dllexport) CFore: public CObject
{
DECLARE_SERIAL(CFore)
public:
CFore();
virtual ~CFore();
void Serialize(CArchive& ar);public:
COleDateTime dFACBEGTIME;//预报因子序列起始时间
COleDateTime dFACENDTIME;//预报因子序列结束时间
CObArray caResult;//预报结果
};/*****************以上为头文件中定义**************************************/
/******下面为CPP***************************************/
extern __declspec(dllexport) void YUWEN(CFore *m_param)
{CArray<tdime,tdime>*pArr1=new CArray<tdime,tdime>; tdime tmp;
int pp=m_param->caResult.GetSize();
COleDateTimeSpan timeSpan;
timeSpan = m_param->dFACENDTIME-m_param-> dFACBEGTIME;
int nDay = timeSpan.GetDays()+1;
COleDateTime time1=m_param-> dFACBEGTIME;
CArray<tdime,tdime>*pArr1=new CArray<tdime,tdime>;
fot(int tt=0;tt<nDay;tt++)
{
COleDateTimeSpan span(tt,0,0,0);
x[tt]=tt*tt
tmp.m_date=x[tt];
tmp.m_time=time1+span;
pArr1->Add(tmp);
}
for(io=0;io<pp;io++)
{
CArray<tdime,tdime>*pArr=(CArray<tdime,tdime>*)m_param->caResult.GetAt(io);
delete pArr;
}
m_param->caResult.RemoveAll();
m_param->caResult.Add(pArr1);
}这是在DLL里的编译,我这里需要把结果想x[tt]压入到caResult中去,这是我写的,但是总是压不进去,最后结果输出的是数据m_date与时间的对应m_time求教各位大侠!
for(io=0;io <pp;io++)
{
CArray <tdime,tdime>*pArr=(CArray <tdime,tdime>*)m_param->caResult.GetAt(io);
delete pArr;
}
m_param->caResult.RemoveAll();
m_param->caResult.Add(pArr1);
{
CArray <tdime,tdime>*pArr=(CArray <tdime,tdime>*)m_param->caResult.GetAt(io);
delete pArr;
} 这个去掉了,把m_param->caResult.RemoveAll(); 提到程序的最前方了。多谢!!!