vb如何写dll和控件(在线等)

来源:百度知道 编辑:UC知道 时间:2024/06/01 03:58:15
如果我会了追加100分!!!
如果我会了追加100分!!!
如果我会了追加100分!!!
如果我会了追加100分!!!
=============================
如何写自己的DLL 然后像API一样的函数申明出来?
如何写出自己的控件然后VB里可以用?
====================================
希望有人能做个视频教程,如果有的话再给你100分!
QQ377545469 Q123

VB其实不行拉.兄弟,VB缺点太多了写个程序要带N多的ACTIVE放弃他学DELPHI吧

。。。楼上那个你知道为什么你写程序带N多active吗。因为你不是再写程序,你是在托控件。所以你带了N多active

``13`23`23`23`1

VB中创建的DLL只是COM组件,无法作为输出函数的DLL,其实这只是个错误的说法。其实MS非常狡猾,如果你是个VB疯狂发烧友的话,应该早就狂试出这种可以创建输出函数的DLL的方法。
VB编译文件实际上采取了两次编译的方法,首先是调用C2.exe产生*.OBJ文件,然后调用Link.EXE连接。如果在LINK的时候添加EXPORT选项,实际上是可以输出函数的。但是,在VB的工程选项中将这些屏蔽了。而且过分的是:VB在Build完成后会将OBJ文件删除,这样就无法手动通过Link来创建我们需要的DLL了。不过我找到一个比较龌鹾的变通的方法,就是先创建一个Exe工程,在Form_Load事件里面写下面的语句:

Sub Main
If MsgBox("哈哈", vbOKCancel) = vbOK Then
Shell "link2.exe " & Command$
End If
End Sub

然后编译为LinkTemp.EXE,接下来将LINK.EXE改名为Link2.exe,将LinkTemp.EXE改名为Link.EXE。这样在VB调用Link.EXE时会弹出对话框,处理就会中断。这时就可以有机会将OBJ文件拷贝出来了。
然后我创建了一个ActiveX DLL工程,在这个工程里面添加一个Module并创建一个Public函数mathadd:

Public Function mathadd(ByVal a As Long, ByVal b As Long) As Long
mathadd = a + b
End Function

编译这个工程,在Link