动态链接库编程的问题

unknow_123 2003-08-21 02:22:40
各位大虾,请教一个有关编写DLL的问题,我在编写动态连接库的时候,在Submain里面应该写些什么?最好能给我一个源程序,我的MSDN是英文的,我不知道从哪里去找?多谢各位咯!
...全文
27 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wdwd05 2003-08-21
  • 打赏
  • 举报
回复
同意zyl910 的看法~

ACTIVE DLL 是没有 入口函数的~

但可以这样~

添加一个模块~然后在模块里面的SUBMAIN里面写上连接数据库的操作~

例如:

Sub main()
Dim conn As New ADODB.Connection
conn.Open "DRIVER={SQLServer};Server=127.0.0.1;UID=XXX;PWD=XXX;DATABASE=XXX"
End Sub
zyl910 2003-08-21
  • 打赏
  • 举报
回复
VB只能写Active DLL
不能写Win32 DLL
自然没有DLL入口函数
iiboy 2003-08-21
  • 打赏
  • 举报
回复
哈哈!
看来我是来学习的了.
xinshou1979330 2003-08-21
  • 打赏
  • 举报
回复
来晚了
看来只能帮楼主顶了
道素 2003-08-21
  • 打赏
  • 举报
回复
同意以上各位观点
简单示例:新建一个activex dll工程,在默认建立的类中加入
Option Explicit

Private mvarm_Name As String 'local copy

Public Function GetName() As String
GetName = mvarm_Name
End Function

Private Sub Class_Initialize()
mvarm_Name = "Hello Word"
End Sub
Public Function SetName(StrName As String)
mvarm_Name = StrName
End Function

使用,添加一个exe工程设为启动,引用dll工程,在form调用刚才建立的dll
Option Explicit

Private Sub Form_Load()
Dim mCls As New Class1
MsgBox mCls.GetName
Call mCls.Setname("csdn")
MsgBox mCls.GetName

End Sub
wdwd05 2003-08-21
  • 打赏
  • 举报
回复
TechnoFantasy(www.applevb.com)

说的也是非常正确的~
smuzy 2003-08-21
  • 打赏
  • 举报
回复
主要是初始化的东西,例如你可以打开数据库初始化应用程序设置等。

我一般用这样做。
Option Explicit

'数据库连接字符串
Public Const ConnectStr_Site_Union As String = "DRIVER={SQL Server};Server=127.0.0.1;UID=XXX;PWD=XXX;DATABASE=XXX"

'ntext:unicode长串字符最大长度
Public Const Max_ntext_Length As Long = 10000 '- by smuzy
'………………

Public Conn As New ADODB.Connection

Public Sub Main()
'项目主函数
Conn.Open ConnectStr_Site_Union
End Sub
TechnoFantasy 2003-08-21
  • 打赏
  • 举报
回复
概念有问题,ActiveX DLL同普通的输出函数的DLL不同,所以你即使写了,sub main也不会被调用,如果你想在在类初始化的时候执行一些操作,可以在ActiveX DLL工程中这个类的Initialize事件中写代码。
hxy2003 2003-08-21
  • 打赏
  • 举报
回复
UP

741

社区成员

发帖
与我相关
我的任务
社区描述
VB 版八卦、闲侃,联络感情地盘,禁广告帖、作业帖
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧