乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 81|回复: 5

关于VB DLL技术

[复制链接]

11

主题

40

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
84
发表于 2005-10-1 09:26:00 | 显示全部楼层 |阅读模式
在VB DLL中做个对话框,可是在ACAD 中引用这个DLL,然后调用对话框时发现,这个对话框是独立于CAD的,无法与CAD之间进行交流,请问各位高手能否设定该对话框的交窗口为CAD!
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2005-10-2 10:28:00 | 显示全部楼层
在窗体里加入下列代码
Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
Private Declare Function GetParent Lib "user32" (ByVal hwnd As Long) As Long
Private m_oApp As Object
Public Property Set Application(ByVal vNewValue As Object)
    Set m_oApp = vNewValue
End Property
Private Sub Form_Load()
    SetParent Me.hwnd, GetParent(GetParent(m_oApp.ActiveDocument.hwnd))
End Sub
类模块:
Private m_oApp As Object
Public Property Let Application(ByVal vNewValue)
    Set m_oApp = vNewValue
End Property
Public Sub ShowForm()
    Set frmTest.Application = m_oApp
    frmTest.Show
End Sub
回复

使用道具 举报

11

主题

40

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
84
发表于 2005-10-3 13:56:00 | 显示全部楼层
雪山飞狐版主,能否举例说明其用法,因我用时产生一个自动化错误!
在DLL文件中设置的窗体的名字应当是frmTest吧!
回复

使用道具 举报

11

主题

40

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
84
发表于 2005-10-3 14:25:00 | 显示全部楼层
请问能否给我一个调试好的DLL及源文件,以说明其用法,因我在使用时确实出现了一个自动化错误,起初以为是没有引用Acad Libabry,后来引用了还是出错,请高手解决此问题
回复

使用道具 举报

17

主题

68

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
136
发表于 2008-1-1 00:46:00 | 显示全部楼层
新年好!
我用VB6.0做Active DLL在AutoCAD中使用。
目的是在类模块中调用窗体,获得几个输入参数.
在IDE中可以运行,但把它从IDE中导出,在VB6.0中却不能用。
不知道为什么?
VB6.0工程的描述
1.窗体名:Myform  (从添加文件导入后属性显示为UserForm)
定义了一个文本框TextBox1和一个按钮CommandButton1
Private Sub CommandButton1_Click()
   str = TextBox1.Text
   Me.Hide
End Sub
2.类模块名:Myclass
Public Sub aaa()
   Myform.Show
End Sub
3.模块名:Myprog
Public str As String
Public Sub main()
Dim Class1 As New Myclass
Class1.aaa
MsgBox str
End Sub
运行后,无法把窗体中的变量传给类模块中的过程使用。
并且,MsgBox str不等Class1.aaa执行完就执行了。

另外上面,雪山飞狐斑竹的程序太深奥,不明白。还是请雪山飞狐斑竹说明一下。
回复

使用道具 举报

17

主题

68

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
136
发表于 2008-1-1 17:23:00 | 显示全部楼层
终于能明白了。要用带模式窗体。
把类模块中的语句改为
Myform.Show vbModal
就可以了。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-5 13:53 , Processed in 0.835066 second(s), 64 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表