查看DLL扩展的源代码
←
DLL扩展
跳转到:
导航
,
搜索
根据下列原因,你没有权限编辑本页:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
=简介= 用户可以通过DLL,满足自己表达算法、提高算法保密程度、提高算法运行效率等方面的需求。 还能扩展软件的菜单和面板功能。 DLL可以用任意语言编写。如 C,C++,Pascal,Delphi,.NET等。 不但用户编写的DLL可以接入,甚至Windows的系统DLL也可以引入。 =DLL的用途= DLL有三方面的用途。 1.用于扩展公式系统的函数。例如,您可以实现自己的ma函数。 2.用于扩展菜单。您可以写一段程序创建一个对话框封装在DLL中,然后告知北斗星创建一个菜单来调用这个对话框。 3.用于扩展K线图右方的信息面板。 =DLL的接口规范= *[[传统DLL接口规范]],也称为飞狐DLL接口规范 *[[自由DLL接口规范]] =函数扩展= 函数扩展既可以使用传统DLL接口规范,也可以使用自由DLL接口规范 =菜单扩展= 菜单扩展必须使用自由DLL接口规范 假设希望点击菜单后,调用windows的ShellExecuteW弹出和讯网页,那么可以这样写公式: #run_by_bar extern 'Shell32.dll' int ShellExecuteW( int iHandle, LPCWSTR sOperation, LPCWSTR sFile, LPCWSTR sParam1, LPCWSTR sDir, int nShowCmd ); function OnHxMenu begin i:=ShellExecuteW(0, 'open', 'http://www.hexun.com', '', '', 1); end AddMenu('', '资讯(&I)', 0, OnShowBrowserWindow); AddMenu('资讯(&I)', '打开网页', 0, OnUrlMenu); 这个公式必须放在FML/Extension目录下。并且需要通过公式编辑器文件菜单打开源码编译后才能使用。 =面板扩展= 面板扩展必须使用自由DLL接口规范,并且必须使用.Net进行开发 因为需要在继承我们提供的InfoPanelControl类的基础上进行。 这里附上样例 [[文件:infopanelFormulaAndDLL.zip]] [[文件:InfoPanelExample.net.project.zip]] 公式同样必须放在Fml\Extension目录下,只需一行代码 AddInfoPanel(name, dll, class, askBidPanelVisible, tickPanelVisible) 参数说明: name 要显示的名字 dll 实现面板的.net dll 必须放在 fmldll下 class 实现面板的.net 类名,要指定命名空间哦 askBidPanelVisible 买卖盘是否可见 tickPanelVisible 分笔面板是否可见 比如在公式里这样写(公式必须放到FML\Extension下) AddInfoPanel('扩展', 'InfoPanelExample.dll', 'N.MyInfoPanel', false, false); 则增加一个名为 '扩展' 的信息面板,这个面板是在 InfoPanelExample.dll 的 N.MyInfoPanel 类实现的,并且设置买卖盘和分笔都不可见。 关于.net 工程还有一些内容必须说明。 1.需要引用软件附带的DotNetBridge.dll(工程右键菜单>引用>增加引用) 2.会有事件OnSecurityChanged(String marketCode, String stkCode, String stkName) =DLL调用常见问题= *无法找到调用函数 解决方法:1.检查声明里的函数名大小写 2.如果是c++,请使用.def文件,并且在工程的选项Linker>Input>Module Definition File中指定.def文件 [[Category:公式系统]]
返回到
DLL扩展
。
个人工具
内存:18899KB
3.148.115.173
该IP地址的讨论
登录
名字空间
页面
讨论
变换
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
社区专页
新闻动态
最近更改
随机页面
金魔方论坛
下载金魔方
帮助
工具箱
链入页面
链出更改
特殊页面