建立一个DLL,要求能被其他语言通用调用,并且里面带界面。
开发工具VC6.0
要求:
1.能被其他开发语言的程序调用。传递参数为char*,通过参数可以让上层传递入参给Dll,Dll可以通过出参和函数返回传值给上层。
2.Dll里要产生界面。如多个对话框。上层调用Dll一个函数后,Dll产生一个全屏的对话框。上层调用另一个函数,可以关闭Dll的界面,释放所有资源。
疑问:
1.VC6.0里面建立哪种工程可以达到这种效果,对外方法接口的定义如何定义?
2.如何产生对话框和消亡它?
3.建立的Dll在哪里统一生成资源和释放资源?
4.希望有个框架和例子。或者有些详细说明指点也可以。如有例子可以发邮箱:1148180695@qq.com
[解决办法]
http://topic.csdn.net/t/20030825/10/2184706.html
[解决办法]
要看什么语言了,如果是DELPHI,那么按照C方式导出函数就行了。
如果要求VB、C#、JS都能调用,那就采用COM方式吧。
[解决办法]
没问题,可以实现,其实这就是插件的机制,可以用COM实现,也可以不使用COM实现。
不使用COM实现的思路如下:
在DLL中输出几个C函数,例如插件安装、卸载。传递某种数据结构(就是接口,接口是一切
二进制复用对象代码的基本原理),界面由DLL自己产生和管理,生成、销毁。可以用MFC、
WTL、API任何技术实现,可以内置任何界面(MDI,SDI)等。
[解决办法]
以前给vb做过一个导出对话框的dll。导出两个函数,一个用来显示对话框,一个用来返回数据。因为我导出的模态对话框,对话框退出都是用户按退出的。像你,应该是想导出非模态的吧,那么在增加一个导出函数,用来销毁对话框呗。在vc6下,创建的是MFC AppWizard(dll)--->regular dll...
函数调用方式必须要声明为_stdcall,导出函数必须用def文件