Board logo

标题: [问题]解决一下我的问题好吗? [打印本页]

作者: mqcwl    时间: 2005-9-20 20:03     标题: [问题]解决一下我的问题好吗?

各位大侠,小弟用VB也有二年,但一直有个问题搞不清。就是如果开发一个大型的应用程序,将各个功能模块写成各个DLL,这样便于维护和修改。可是具体怎么写呢?如何调用DLL呢?最好可以详细点,如果哪位高手愿意给写个小实例演示一下,将不胜感激!
作者: Nothing    时间: 2005-9-20 23:09

这个问题不好搞,如果你都写成DLL,可能更好不管理,VB不能写真正的DLL,只能写ActiveX DLL,所以你说的方法可行性非常低。

如果你非要写DLL,还是研究一下COM组件吧。调用COM和调用控件是一样的。
作者: mqcwl    时间: 2005-9-21 09:04

那对于这样的问题,怎么办才好一点,告诉我一个办法,我也不知道怎么做,因为我原来用过 C++ BULIDER 所以才想起这样写,C++B里面写DLL很方便,我说VB怎么这么难呢?
对于大型的工程怎么写呢?
还有,如果是用其它语言写成后可以用VB调用吗?
作者: Nothing    时间: 2005-9-21 10:24

VB也能调用DLL,只不过声明和API的声明一样。
不过这样写程序很不好,VB可以用类模块编程,你可以把你的东西写到类模块里,将其编译成ActiveX DLL。
别的地方调用,只需引用这个DLL即可。此DLL并非真正的DLL,是一种类似于组件的东西,这东西要比DLL好用多了,建议你学习这方面的知识。
作者: mqcwl    时间: 2005-9-21 13:06

哈哈。谢谢版主!
你的意思就是比如我将一个功能模块写成一个类,新建时选择建立ActiveX dll,然后像正常编程一样增加窗体什么的,编译时编成DLL,调用时像调用API一样,OK?
那比如说调用时主程序要将数据库名 DBSEVERNAME(主程序中变量)传给DLL,是否像API传值一样,还有,DLL编写时针对传和值的部分怎样编写?
另外,这样的话是不是比较节省系统开支呢?

十分感谢NOTHING!
作者: Nothing    时间: 2005-9-21 14:04

编译时编成ActiveX DLL,调用时像和API是不一样的,调用的时候类似于调用组件,在VB中有引用一样,就像调用RecordSet对象那样。

传值什么的,和VB中的组件一样的,你应当找本书,好好看看这一块了。
作者: Nothing    时间: 2005-9-21 14:11

你应当多学学COM编程,千万不要老想着API。
面向对像是未来的方向,也是现在程序员必需要学会的。
面向过程函数的DLL早晚要淘汰。
作者: mqcwl    时间: 2005-9-22 16:55

谢谢了!!!




欢迎光临 编程开发论坛 (http://bbs.lihuasoft.net/) Powered by Discuz! 6.0.0