反正有没有在VB6中导出函数(不是类)?

时间:2010-03-10 15:48:59

标签: dll vb6 activex

我想从Visual Basic 6创建一个ActiveX DLL,我想从中调用一些公共函数。我将仅从VB6调用此DLL。但是,似乎只有类导出。有没有解决方法?

我知道有一种方法可以使用标准的WINAPI函数从VB6创建DLL。这不是我想要的,因为我必须输入数千个Declare指令,并且我将丢失动态链接,因此在更改DLL时我不需要重新编译应用程序。

我会陈述我的问题,万一有人有更好的主意。我有一堆相对较大的项目,每个都有自己的代码,然后我有很多“通用”代码,这些代码在几个项目中使用。将每个文件添加到每个新项目并且必须为每个小的更改重新编译所有文件都是一件烦恼。所以我想创建一个DLL,所以当我开始一个新项目时我只会“添加引用”,而不必再担心重新编译(至少是为了进行微小的更改)但是当我发现只有类被导出时我发狂了

我不介意重新组织类中的代码,但这是一项压倒性的任务:有大约10年的3-4人代码,所以这不是我能在一夜之间做的事情。

1 个答案:

答案 0 :(得分:5)

是的,这很容易。

  1. 将所有实用程序例程放在DLL中的特殊类中。
  2. 将这些类的Instancing属性设置为GlobalMultiUse
  3. 构建DLL。
  4. 在您的客户端项目(引用DLL)中,您现在可以像调用该项目中的模块一样调用函数和子例程。您不需要创建任何对象。
  5. 您可以在VB6 manual中阅读更多内容。