重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
我觉得问题是这样的,selection对象是依附与UIstyler的对话框的,你不能在其他的对话框(比如VB的对话框,或者是其他任何类库的对话框)里面去调用它,不然会出错滴。我记得以前在同时处理uistyler对话框和其他的对话框时候,要lock ug的access,这样才能避免对话框资源冲突,你要调class selection的对话框也是一个uistyler的。我觉得也应该去lock一下。
创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于网站建设、成都网站设计、淄博网络推广、小程序制作、淄博网络营销、淄博企业策划、淄博品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联公司为所有大学生创业者提供淄博建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
Dim ppr As PromptPointResult = ed.GetPoint("请选择插入点:")
Dim pt As Point3d = ppr.Value
utility.WriteToEditor(pt.ToString())
Dim pidBlock As New PIDBlock()
'自己定义的图块类,保存图块的路径和名称
pidBlock.Name = "sample"
pidBlock.Path = blockPath "b_sample.dwg"
Using blkDb As New Database(False, True)
'read drawing
blkDb.ReadDwgFile(pidBlock.Path, System.IO.FileShare.Read, True, Nothing)
blkDb.CloseInput(True)
Using docLock As DocumentLock = doc.LockDocument()
'多文档要先这样,否则报至命错误
Using t As Transaction = doc.TransactionManager.StartTransaction()
'insert it as a new block
Dim idBTR As ObjectId = doc.Database.Insert(pidBlock.Name, blkDb, False)
'create a ref to the block
Dim bt As BlockTable = DirectCast(t.GetObject(doc.Database.BlockTableId, OpenMode.ForRead), BlockTable)
Dim btr As BlockTableRecord = DirectCast(t.GetObject(bt(BlockTableRecord.ModelSpace), OpenMode.ForWrite), BlockTableRecord)
Using bref As New BlockReference(pt, idBTR)
btr.AppendEntity(bref)
t.AddNewlyCreatedDBObject(bref, True)
End Using
t.Commit()
End Using
End Using
End Using
错误提示不说得很清楚么,类型不对。
你操作有数据的记录时,有日期的那个字段它是有数据的,直接可以取出date型数据,而如果为空的话,那就不是date型数据了,它就是一个null了,是空的,null和date是两回事。所以你在写程序的时候,要检查一下,字段是不是null,如果是null那就不能往外读数,不是null,那就直接往外读。
gdi+没有提供模糊的功能,也没有相应的api,要做模糊效果,照样需要读取像素数组,用模糊算法处理后返给图像。
gdi+倒是提供了反锯齿的功能,但只能使文字或图形边缘与背景过度更自然,不能用来模糊图像。
用vb的GetDIBits和SetDIBits,应该不会很慢呀,我用vb.net的LockBits获取像素数组,再取周围像素的平均值模糊一个200x200像素的图像,基本上都用不到0.02秒的,用vb和gdi应该不会比这个慢