乐筑天下

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

[编程交流] 模板期初问题

[复制链接]

33

主题

107

帖子

65

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
175
发表于 2022-7-6 22:38:46 | 显示全部楼层 |阅读模式
你好:我有一份2005年写的申请书。net与autocad api
在用户输入命令后,代码指示
从服务器上打开模板。下面是打开它的代码:
 
  1. [size=2]dbTemplate.ReadDwgFile(sBOM_EstimatePath & [/size][size=2][color=#a31515][size=2][color=#a31515]"CO_TEMPLATE_1Estimate.dwt"[/color][/size][/color][/size][size=2], System.IO.FileShare.Read, [/size][size=2][color=#0000ff][size=2][color=#0000ff]True[/color][/size][/color][/size][size=2], [/size][size=2][color=#0000ff][size=2][color=#0000ff]Nothing[/color][/size][/color][/size][size=2])
  2. [/size]

 
其中,as路径(sBOM_EstimatePath)位于服务器之外。
无论如何,这段代码一直没有问题。。。直到最近。
 
最近,有一个用户没有收到最近对此模板所做的更改(CO\u template\u 1Estimate.dwt)。
我进行了一系列测试,其中之一是更改用户本地驱动器的路径。当我这样做,并将模板放在这个路径中时,用户得到了包含所有最近更改的模板。
为什么它不从服务器中提取最新的模板?当我调试时,我看到它得到了正确的路径。如果它没有从那里提取模板,那么它从哪里获取该模板?
也许有一些兑现的问题。。。我必须澄清吗?
任何想法都会有帮助。。。
谢谢
监考人员
回复

使用道具 举报

1

主题

1069

帖子

1050

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
69
发表于 2022-7-6 22:47:48 | 显示全部楼层
尝试
导入系统。IO
---------------------
 
将完整路径设置为字符串=路径。合并(sBOM\u EstimatePath,“CO\u TEMPLATE\u 1Estimate.dwt”)
以及在“工具”->“选项”->“文件”选项卡中
搜索文件模板位置
或者您可以通过系统变量接收其主目录
“RoamablerOutprefix”
 
但不确定2005年的情况
回复

使用道具 举报

33

主题

107

帖子

65

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
175
发表于 2022-7-6 22:52:07 | 显示全部楼层
嗨,菲索:谢谢你的建议。我已经实现了你建议的代码,正在等待在用户的机器上进行测试。。。。
一旦我能测试出来,我会在这里回复。
 
再次感谢大家,
监考人员
回复

使用道具 举报

33

主题

107

帖子

65

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
175
发表于 2022-7-6 22:55:39 | 显示全部楼层
修复程序:我能够测试代码,但它没有工作
 
以下是我使用的:
  1. Imports System.IO
  2. [size=2][/size][size=2][color=#0000ff][size=2][color=#0000ff]Dim[/color][/size][/color][/size][size=2] fullpath [/size][size=2][color=#0000ff][size=2][color=#0000ff]As[/color][/size][/color][/size][size=2] [/size][size=2][color=#0000ff][size=2][color=#0000ff]String[/color][/size][/color][/size][size=2] = path.comine(sBOM_EstimatePath & [/size][size=2][color=#a31515][size=2][color=#a31515]"CO_TEMPLATE_1Estimate.dwt"[/color][/size][/color][/size][size=2])
  3. dbTemplate.ReadDwgFile(fullpath, System.IO.FileShare.Read, [/size][size=2][color=#0000ff][size=2][color=#0000ff]True[/color][/size][/color][/size][size=2], [/size][size=2][color=#0000ff][size=2][color=#0000ff]Nothing[/color][/size][/color][/size][size=2])
  4. [/size]

 
我在“工具”->“选项”->“文件”下查看了文件模板位置的路径。。。这是一个当地的位置。你认为我应该删除此位置的所有文件,然后重试吗?
 
再次感谢,
监考人员
回复

使用道具 举报

1

主题

1069

帖子

1050

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
69
发表于 2022-7-6 23:00:45 | 显示全部楼层
不,不,这只是为了提供信息
将模板保存在自己的文件夹中
 
试试这段代码,命令标志会话很重要
  1.       <CommandMethod("openDwt", CommandFlags.Session)> _
  2.        Public Sub OpenDwt()
  3.            Dim doc As Document = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument
  4.            Dim newpath As String = ""
  5.            Using docloc As DocumentLock = doc.LockDocument
  6.                Using dbTemplate As New Database(True, False)
  7.                    Dim sBOM_EstimatePath As String = "C:\Test" '<-- change template folder here
  8.                    Dim fullpath As String = Path.Combine(sBOM_EstimatePath, "CO_TEMPLATE_1Estimate.dwt")
  9.                    dbTemplate.ReadDwgFile(fullpath, System.IO.FileShare.None, False, Nothing)
  10.                    newpath = Path.Combine(sBOM_EstimatePath, "WorkingDrawing.dwg")
  11.                    dbTemplate.SaveAs(newpath, DwgVersion.Current)
  12.                    dbTemplate.Dispose()
  13.                End Using
  14.            End Using
  15.            'check if we're saved this template as dwg file:
  16.            If File.Exists(newpath) Then
  17.                MsgBox(String.Format("Drawing ""{0}"" created from template", newpath), MsgBoxStyle.Information)
  18.            Else
  19.                MsgBox("Problem with creating drawing", MsgBoxStyle.Exclamation)
  20.            End If
  21.        End Sub

未测试。。
回复

使用道具 举报

33

主题

107

帖子

65

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
175
发表于 2022-7-6 23:07:10 | 显示全部楼层
让我试试。。。。。。如果有帮助,我会告诉你。
 
非常感谢。
 
监考人员
回复

使用道具 举报

1

主题

1069

帖子

1050

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
69
发表于 2022-7-6 23:12:01 | 显示全部楼层
嗨,菲索:不幸的是。。。它在那条线上出错了。我得到了一个未命名的访问读取违规。
 
今天我将在用户的机器上尝试一些东西。我将在她的机器上搜索模板,看看它还能从哪里提取,因为我知道它无法从web服务器上获取最新的模板。
 
此外,我将从浏览器中查看是否可以从用户的机器中打开图形模板。
 
也许这能帮我解决更多的麻烦。我会告诉你我发现了什么。
 
再次感谢。。。
 
监考人员
回复

使用道具 举报

33

主题

107

帖子

65

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
175
发表于 2022-7-6 23:17:56 | 显示全部楼层
对于这种情况,最让我窃笑的是。。。当代码在这个用户的机器上运行时,它一点也不抱怨;它确实拉了一个非常相似的模板;但是,它是一个旧模板…而不是当前位于此位置的web服务器中的模板…。这个模板是从哪里来的?你知道我怎么知道吗?如果我能找到它并把它处理掉,也许就能解决这个问题?
我从用户机器上运行了浏览器中的url,它调出了模板,所以我认为这不是任何权限问题。
再次感谢大家,
监考人员
回复

使用道具 举报

1

主题

1069

帖子

1050

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
69
发表于 2022-7-6 23:26:24 | 显示全部楼层
回复

使用道具 举报

33

主题

107

帖子

65

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
175
发表于 2022-7-6 23:33:11 | 显示全部楼层
let me give it a try......i'll let you know if it helps.
 
thank you!
 
Proctor
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-4 05:53 , Processed in 0.559890 second(s), 72 queries .

© 2020-2025 乐筑天下

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