标题:[原创]用利鹰接口编写的DLL内调出的参数不能被软件另一个指标引用,引用软件 ...
只看楼主
csnpx
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2005-12-27
结帖率:0
 问题点数:0 回复次数:2 
[原创]用利鹰接口编写的DLL内调出的参数不能被软件另一个指标引用,引用软件就销毁
*/ --------------------------------------------------------------------------------------
*/ 出自: 编程中国 http://www.bc-cn.net
*/ 作者: csnpx QQ:76269115
*/ 时间: 2007-10-19 编程论坛首发
*/ 声明: 尊重作者劳动,转载请保留本段文字
*/ --------------------------------------------------------------------------------------


// LyFnc.cpp : Defines the entry point for the DLL application.
/*
///////////////////////////////////////////////////////////////////////////
利鹰扩展函数规范V2.05
1.本规范适用于利鹰2.05公式系统.
2.扩展函数用于实现系统函数不能实现的特殊算法,提高运算速度。
3.扩展函数用windows 32位动态连接库实现,建议使用Microsoft Visual C++编程.
4.调用时在公式编辑器中写"动态库名称@函数名称"(参数表)即可
5.动态连接库名称和函数名称可以自己定义.
6.使用时可以将动态库拷贝到利鹰目录下使用.
*/
#include "stdafx.h"
#include "FncData.h"

extern "C" _declspec(dllexport) int FUN1(LYDATA *pData)
{
int i,n;

if( pData->nParamCount!=2 )
return 0;

i = (int)pData->floParam[0];
n = (int)pData->floParam[1]-1;


int zx1,zx2,zx3,zx4,zx5,zx6,zx7,zx8,zx9,zx10,fx11,fx12,fx13,fx14;

if(i==0)
{
zx1=1; zx2=2; zx3=4; zx4=5; zx5=6; zx6=7; zx7=8; zx8=10; zx9=11; zx10=12; fx11=3; fx12=9; fx13=13; fx14=14;
}
else if(i==1)
{
zx1=2; zx2=4; zx3=5; zx4=6; zx5=7; zx6=8; zx7=9; zx8=10; zx9=13; zx10=14; fx11=1; fx12=3; fx13=11; fx14=12;
}
else if(i==2)
{
zx1=1; zx2=3; zx3=5; zx4=6; zx5=7; zx6=10; zx7=11; zx8=12; zx9=13; zx10=14; fx11=2; fx12=4; fx13=8; fx14=9;
}
else
{
;
}

pData->pfResult = new float[14];


pData->pfResult[0] = (float)zx1;
pData->pfResult[1] = (float)zx2;
pData->pfResult[2] = (float)zx3;
pData->pfResult[3] = (float)zx4;
pData->pfResult[4] = (float)zx5;
pData->pfResult[5] = (float)zx6;
pData->pfResult[6] = (float)zx7;
pData->pfResult[7] = (float)zx8;
pData->pfResult[8] = (float)zx9;
pData->pfResult[9] = (float)zx10;
pData->pfResult[10] = (float)fx11;
pData->pfResult[11] = (float)fx12;
pData->pfResult[12] = (float)fx13;
pData->pfResult[13] = (float)fx14;

*pData->pfResult = pData->pfResult[n];

return 1;
}

////数值转换并调到软件内没问题了,就是不能在软件内把计算结果引用到另一个指标内,引用软件就销毁,如何调整才能不销毁


搜索更多相关主题的帖子: DLL 接口 软件 参数 指标 
2007-10-19 19:26
jasonguo
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-10-15
得分:0 
回复:(csnpx)[原创]用利鹰接口编写的DLL内调出的参...

using System.Xml;
using System.Xml.XPath;
string jg="0.00";
double myhjg=0;
double zzjg=0;


private void text1_TextChanged(object sender, System.EventArgs e)
{
dhx2=text1.Lines.Length;

int hw=0;

hw=dhx2-1;


string[] mhsj;
mhsj=new string[dhx2];


string[] mhszfhzf=new string[dhx2];
string[] mhszfhzf1=new string[dhx2];


try
{
for(int i=0;i<dhx2;i++)
{
mhsj[i]=text1.Lines[i];

string[] dgzf;
dgzf=new string[mhsj[i].Length];
int j,h;
for(j=0;j<mhsj[i].Length;j++)
{
dgzf[j]=mhsj[i].Substring(j,1);

if(dgzf[j].Equals("%")==true)
{
dgzf[j]="*0.01";
}
}

for(int k=0;k<mhsj[i].Length;k++)
{
if(dgzf[k].Equals("/")==true)
{
if (char.IsNumber(dgzf[k+1],0)==true)
{
dgzf[k]=dgzf[k];
}
else
{
dgzf[k]="每";
}
}

}
for(h=0;h<j;h++)
{
if(char.IsNumber(dgzf[h],0)==true ||char.IsPunctuation(dgzf[h],0)==true ||char.IsSymbol(dgzf[h],0)==true)
{
mhszfhzf[i]=mhszfhzf[i]+dgzf[h];
}
}
}
}
catch(Exception)
{
}

try
{

mhszfhzf1[hw]=mhszfhzf[hw].Replace("/"," div ");

XmlDocument xd=new XmlDocument();
XPathNavigator jszhs=xd.CreateNavigator();
myhjg=(double)jszhs.Evaluate(mhszfhzf1[hw]);
}
catch(Exception)
{
}
}

private void text1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
System.EventArgs z;
z=new EventArgs();
if(e.KeyChar==13)
{

zzjg+=myhjg;
jg=zzjg.ToString();
}
}


2007-10-30 16:31
csnpx
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2005-12-27
得分:0 
楼上的回复是干什么用的?
2007-11-10 15:50



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-179134-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037420 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved