模板期初问题
你好:我有一份2005年写的申请书。net与autocad api在用户输入命令后,代码指示
从服务器上打开模板。下面是打开它的代码:
dbTemplate.ReadDwgFile(sBOM_EstimatePath & "CO_TEMPLATE_1Estimate.dwt", System.IO.FileShare.Read, True, Nothing)
其中,as路径(sBOM_EstimatePath)位于服务器之外。
无论如何,这段代码一直没有问题。。。直到最近。
最近,有一个用户没有收到最近对此模板所做的更改(CO\u template\u 1Estimate.dwt)。
我进行了一系列测试,其中之一是更改用户本地驱动器的路径。当我这样做,并将模板放在这个路径中时,用户得到了包含所有最近更改的模板。
为什么它不从服务器中提取最新的模板?当我调试时,我看到它得到了正确的路径。如果它没有从那里提取模板,那么它从哪里获取该模板?
也许有一些兑现的问题。。。我必须澄清吗?
任何想法都会有帮助。。。
谢谢
监考人员 尝试
导入系统。IO
---------------------
将完整路径设置为字符串=路径。合并(sBOM\u EstimatePath,“CO\u TEMPLATE\u 1Estimate.dwt”)
以及在“工具”->“选项”->“文件”选项卡中
搜索文件模板位置
或者您可以通过系统变量接收其主目录
“RoamablerOutprefix”
但不确定2005年的情况 嗨,菲索:谢谢你的建议。我已经实现了你建议的代码,正在等待在用户的机器上进行测试。。。。
一旦我能测试出来,我会在这里回复。
再次感谢大家,
监考人员 修复程序:我能够测试代码,但它没有工作
以下是我使用的:
Imports System.IO
Dim fullpath As String = path.comine(sBOM_EstimatePath & "CO_TEMPLATE_1Estimate.dwt")
dbTemplate.ReadDwgFile(fullpath, System.IO.FileShare.Read, True, Nothing)
我在“工具”->“选项”->“文件”下查看了文件模板位置的路径。。。这是一个当地的位置。你认为我应该删除此位置的所有文件,然后重试吗?
再次感谢,
监考人员 不,不,这只是为了提供信息
将模板保存在自己的文件夹中
试试这段代码,命令标志会话很重要
<CommandMethod("openDwt", CommandFlags.Session)> _
Public Sub OpenDwt()
Dim doc As Document = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument
Dim newpath As String = ""
Using docloc As DocumentLock = doc.LockDocument
Using dbTemplate As New Database(True, False)
Dim sBOM_EstimatePath As String = "C:\Test\" '<-- change template folder here
Dim fullpath As String = Path.Combine(sBOM_EstimatePath, "CO_TEMPLATE_1Estimate.dwt")
dbTemplate.ReadDwgFile(fullpath, System.IO.FileShare.None, False, Nothing)
newpath = Path.Combine(sBOM_EstimatePath, "WorkingDrawing.dwg")
dbTemplate.SaveAs(newpath, DwgVersion.Current)
dbTemplate.Dispose()
End Using
End Using
'check if we're saved this template as dwg file:
If File.Exists(newpath) Then
MsgBox(String.Format("Drawing ""{0}"" created from template", newpath), MsgBoxStyle.Information)
Else
MsgBox("Problem with creating drawing", MsgBoxStyle.Exclamation)
End If
End Sub
未测试。。 让我试试。。。。。。如果有帮助,我会告诉你。
非常感谢。
监考人员 嗨,菲索:不幸的是。。。它在那条线上出错了。我得到了一个未命名的访问读取违规。
今天我将在用户的机器上尝试一些东西。我将在她的机器上搜索模板,看看它还能从哪里提取,因为我知道它无法从web服务器上获取最新的模板。
此外,我将从浏览器中查看是否可以从用户的机器中打开图形模板。
也许这能帮我解决更多的麻烦。我会告诉你我发现了什么。
再次感谢。。。
监考人员 对于这种情况,最让我窃笑的是。。。当代码在这个用户的机器上运行时,它一点也不抱怨;它确实拉了一个非常相似的模板;但是,它是一个旧模板…而不是当前位于此位置的web服务器中的模板…。这个模板是从哪里来的?你知道我怎么知道吗?如果我能找到它并把它处理掉,也许就能解决这个问题?
我从用户机器上运行了浏览器中的url,它调出了模板,所以我认为这不是任何权限问题。
再次感谢大家,
监考人员 let me give it a try......i'll let you know if it helps.
thank you!
Proctor
页:
[1]
2