乐筑天下

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

一起来学vb.net(2,CAD.net调试不再是问题---续..)

[复制链接]

10

主题

45

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
85
发表于 2012-11-8 18:25:00 | 显示全部楼层 |阅读模式
没注意,原来我仅有的俩乐筑天下币是狐哥给的。既然那么给力,我就再贴出我最新的调试方法。如下:
启动的外部程序为下面的代码编写的debug.exe程序。只需将生产dll的名字改为你命令的名字+数字即可。比如
  1. Imports Autodesk..Runtime
  2. Public Class Class1
  3.      _
  4.     Public Sub xxx()
  5.     End Sub
  6. End Class

你的命令是XXX,那么生产编译程序的时候,在“应用程序”—“程序集名称”里面将生产dll名称改为 “xxx 数字”即可,我用正则来判断的,当然你可以任意发挥。CAD一直保持打开状态,然后 启动调试(F5),调试后,直接切到CAD窗口,按 空格键即可查看效果。重复调试只需更改数字就行了。下面是debug.exe的源码(vb.net)及工程:
  1. Imports System.IO
  2. Public Class Form1
  3.     Public Function SortbycreateTime(ByVal x As String, ByVal y As String) As Integer
  4.         Dim xinfo As New FileInfo(x)
  5.         Dim yinfo As New FileInfo(y)
  6.         Return -xinfo.CreationTime.CompareTo(yinfo.CreationTime)
  7.     End Function
  8.     Private Sub Form1_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated
  9.       
  10.         Me.Hide()
  11.         Me.Dispose(True)
  12.         End
  13.     End Sub
  14.     Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  15.         Dim Mpath As String = My.Computer.FileSystem.CurrentDirectory
  16.         Dim Mdlls As String() = Directory.GetFiles(Mpath, "*.dll")
  17.         Array.Sort(Mdlls, AddressOf SortbycreateTime)
  18.         Dim Filestr As String = Mdlls(0)
  19.         Dim Myinfo As New FileInfo(Filestr)
  20.         Dim Mcmd As String = System.Text.RegularExpressions.Regex.Replace(Myinfo.Name, "\d*\.dll$", "")
  21.         ' MsgBox(Mcmd)
  22.         If Filestr  "" Then
  23.             Dim acadApp As Object = GetObject(, "AutoCAD.Application")
  24.             Dim AcadD As Object = acadApp.ActiveDocument
  25.             Dim Mnet As String = Replace(Filestr, "", "/")
  26.             AcadD.SetVariable("FILEDIA", 0)
  27.             AcadD.SendCommand("(command " & Chr(34) & "netload" & Chr(34) & Chr(34) & Mnet & Chr(34) & ")" & Chr(13))
  28.             AcadD.SetVariable("FILEDIA", 1)
  29.             AcadD.SendCommand(Mcmd)
  30.             AcadD = Nothing
  31.             acadApp = Nothing
  32.         End If
  33.     End Sub
  34. End Class
注意,最好不要开多个CAD.我一直用的是CAD2012调试的,VS2010。

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-14 21:10 , Processed in 0.422533 second(s), 59 queries .

© 2020-2025 乐筑天下

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