通达信dll插件Delphi

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

librarytdxdlltest;{通达信dll公式函数规范delphi版2016.03.05}usesSysUtils,Windows;{$R*.res}typeArraySingle=arrayofsingle;typepPluginFUNC=procedure(p1:Integer;varp2,p3,p4,p5:ArraySingle);cdecl;//不要修改tagPluginTCalcFuncInfo=packedrecordnFuncMark:Word;pCallFunc:pPluginFUNC;end;PluginTCalcFuncInfo=tagPluginTCalcFuncInfo;PPluginTCalcFuncInfo=^PluginTCalcFuncInfo;PPPluginTCalcFuncInfo=^PPluginTCalcFuncInfo;pRegisterPluginFUNC=function(pFun:PPPluginTCalcFuncInfo):LongBool;cdecl;varg_CalcFuncSets:array[0..2]ofPluginTCalcFuncInfo;procedureTestPlugin1(DataLen:integer;pfOUT:ArraySingle;pfINa:ArraySingle;pfINb:ArraySingle;pfINc:ArraySingle);cdecl;var//F8F8F8F8表示无效数据,通达信公式中将不会显示i:integer;pc1:PCardinal;beginfori:=0todatalen-1dobeginpfOUT[i]:=pfina[i];ifi=datalen-10thenbeginpc1:=@pfout[i];pc1^:=$F8F8F8F8;end;end;end;{通达信dll公式函数规范delphi版悟多qq9113222016.03.05,像悟多先生致谢~}procedureTestPlugin2(DataLen:integer;pfOUT:ArraySingle;pfINa:ArraySingle;pfINb:ArraySingle;pfINc:ArraySingle);cdecl;vari:integer;beginfori:=0todatalen-1dobeginpfOUT[i]:=pfina[i]+1;//返回值是输入值+1end;end;procedureTestPlugin3(DataLen:integer;pfOUT:ArraySingle;pfINa:ArraySingle;pfINb:ArraySingle;pfINc:ArraySingle);cdecl;vari:integer;beginfori:=0todatalen-1dobeginpfOUT[i]:=pfinc[i];end;end;procedureInitStruct;beging_CalcFuncSets[0].nFuncMark:=1;g_CalcFuncSets[0].pCallFunc:=@TestPlugin1;g_CalcFuncSets[1].nFuncMark:=2;g_CalcFuncSets[1].pCallFunc:=@TestPlugin2;g_CalcFuncSets[2].nFuncMark:=3;g_CalcFuncSets[2].pCallFunc:=@TestPlugin3;//有更多的函数的话,可以增加到这里end;functionRegisterTdxFunc(pFun:PPPluginTCalcFuncInfo):LongBool;cdecl;beginResult:=False;ifpFun^=nilthenbeginpFun^:=@g_CalcFuncSets;//绑定dll函数起始地址Result:=True;end;end;exportsRegisterTdxFunc;beginInitStruct;end.

1 / 4
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功