以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 高级功能研发区 (http://www.weistock.com/bbs/list.asp?boardid=5) ---- [求助]我写的这个DLL函数 MIN 咋没有显示呢? (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=9601) |
-- 作者:oceanjztwind -- 发布时间:2012/1/7 12:51:32 -- [求助]我写的这个DLL函数 MIN 咋没有显示呢? 头文件中建: float funczxz(float a[],int n=10) { float min= a[0]; ??for (int i=0;i |
-- 作者:oceanjztwind -- 发布时间:2012/1/7 12:55:33 -- 晕 咋个都挤在一起了.... |
-- 作者:oceanjztwind -- 发布时间:2012/1/7 13:06:20 -- 上面挤在一起 请朋友们看这里 问题看得清楚一些 http://oceanwindcd.blog.163.com/blog/static/128208247201207154744/ |
-- 作者:admin -- 发布时间:2012/1/7 14:20:04 -- 用IE浏览器发 |
-- 作者:oceanjztwind -- 发布时间:2012/1/7 14:53:06 -- 试下ADMIN说的IE看看: 头文件中建:
float funczxz(float a[],int n=10)
{ float min= a[0];
for (int i=0;i<n;i++)
{ if(min>a[i]) min=a[i];}
return min;
}
CPP中:
__declspec(dllexport) int WINAPI ZXZ(CALCINFO* pData)
{
if ( pData->m_pCalcParam[0].m_nParamStart >= 0 &&
pData->m_pCalcParam[1].m_nParamStart >= 0 &&
pData->m_pCalcParam[2].m_nParamStart >= 0 &&
pData->m_pCalcParam[3].m_nParamStart >= 0 &&
pData->m_pCalcParam[4].m_nParamStart >= 0 &&
pData->m_pCalcParam[5].m_nParamStart >= 0 &&
pData->m_pCalcParam[6].m_nParamStart >= 0 &&
pData->m_pCalcParam[7].m_nParamStart >= 0 &&
pData->m_pCalcParam[8].m_nParamStart >= 0 &&
pData->m_pCalcParam[9].m_nParamStart >= 0)
//4个序列都含有效数值
{
int nFirst = pData->m_pCalcParam[9].m_nParamStart;
//已知返回的序列的第一个有效值位置与第4个序列一致
const float* pValue1 = pData->m_pCalcParam[0].m_pfParam;
const float* pValue2 = pData->m_pCalcParam[1].m_pfParam;
const float* pValue3 = pData->m_pCalcParam[2].m_pfParam;
const float* pValue4 = pData->m_pCalcParam[3].m_pfParam;
const float* pValue5 = pData->m_pCalcParam[4].m_pfParam;
const float* pValue6 = pData->m_pCalcParam[5].m_pfParam;
const float* pValue7 = pData->m_pCalcParam[6].m_pfParam;
const float* pValue8 = pData->m_pCalcParam[7].m_pfParam;
const float* pValue9 = pData->m_pCalcParam[8].m_pfParam;
const float* pValue10 = pData->m_pCalcParam[9].m_pfParam;
for( int i = nFirst; i < pData->m_nNumData; i++ )
{ float a[] = {pValue1[i],pValue2[i],pValue3[i],pValue4[i],pValue5[i],pValue6[i],pValue7[i],pValue8[i],pValue9[i],pValue10[i] };
pData->m_pResultBuf[i] = funczxz(a,10);
}
return nFirst;
}
return -1;
}
在金字塔中建公式如下引用此建的DLL公式 但没有数据显示
MA1:=100;
MA2:=99;
MA3:=88;
MA4:=77;
MA5:=66;
MA6:=55;
MA7:=44;
MA8:=33;
MA9:=22;
MA10:=11;
Mintest:"STOCKFUNC@ZXZ"(MA1,MA2,MA3,MA4,MA5,MA6,MA7,MA8,MA9,MA10);
|
-- 作者:every_ones -- 发布时间:2012/1/9 12:57:29 -- 你先用vc工具depends看看你的stockfunc.dll文件中的xzx是否正确,是c风格函数,如果不是的话在.h中添加zxz的声明,把zxz声明为c风格的。 在其它声明的函数下面添加
__declspec(dllexport) int WINAPI ZXZ(CALCINFO* pData);
|
-- 作者:every_ones -- 发布时间:2012/1/9 13:00:07 -- @只支持c调用,不支持c++风格函数 [此贴子已经被作者于2012-1-9 13:01:27编辑过]
|