| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > .NET > Обращение к коллекции вызывает краш автокада (VB.NET)

Обращение к коллекции вызывает краш автокада (VB.NET)

Ответ
Поиск в этой теме
Непрочитано 07.11.2018, 12:02
Обращение к коллекции вызывает краш автокада (VB.NET)
ramber
 
Регистрация: 18.04.2011
Сообщений: 33

Всем привет!
Начинаю медленный и плавный переход из VBA в VB.NET. Идет тяжело...
Написал программку, которая сохраняет все открытые файлы, которые возможно сохранить и закрывает автокад.

Вылетает в строке:
For Each Document In Document.Application.Documents

На VBA она была :
For Each Document In Documents
но так компилятор сильно ругался((

Код:
[Выделить все]
Namespace SaveAndExit

    Public Class Commands

        <CommandMethod("SNE")>
        Public Shared Sub SaveAndExit()

            Dim Document As AutoCAD.AcadDocument

            For Each Document In Document.Application.Documents

                On Error Resume Next

                Document.Save()

                If Err.Number <> 0 Then
                    Document.Close(False)
                Else
                    Document.Close(True)
                End If

                On Error GoTo 0

            Next
            Autodesk.AutoCAD.ApplicationServices.Core.Application.Quit()

        End Sub
    End Class
End Namespace
Просмотров: 4220
 
Непрочитано 13.11.2018, 12:00
#21
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 6,984


Цитата:
Сообщение от trir Посмотреть сообщение
На .NET всё равно проще, правда там под капотом кажется тоже COM
с какого перепуга COM?
Сергей812 вне форума  
 
Непрочитано 13.11.2018, 12:19
#22
trir


 
Регистрация: 18.12.2010
Сообщений: 3,458


Сообщение об ошибке метода DocumentExtension.CloseAndSave - закрытие активного документа
Цитата:
System.Runtime.InteropServices.COMException (0x8021006F): Чертеж занят.
в System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
в Autodesk.AutoCAD.ApplicationServices.DocumentExtension.CloseInternal(Document doc, Boolean discard, String fileName)
в CheckAcAd1.Class1.SaveAndExit() в D:\Old_PC\Projects\CheckAcAd1\CheckAcAd1\Class1.vb:строка 346
в Autodesk.AutoCAD.Runtime.CommandClass.InvokeWorker(MethodInfo mi, Object commandObject, Boolean bLispFunction)
в Autodesk.AutoCAD.Runtime.CommandClass.InvokeWorkerWithExceptionFilter(MethodInfo mi, Object commandObject, Boolean bLispFunction)
в Autodesk.AutoCAD.Runtime.CommandClass.CommandThunk.Invoke()
думаю по этому его и вынесли в отделный класс
trir на форуме  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > .NET > Обращение к коллекции вызывает краш автокада (VB.NET)

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Глюк автокада при построении линий командами сценария pwn Программирование 15 05.11.2016 23:37
Подскажите, гуру! Можно ли в разделенном на 2 части окне автокада открыть два разных чертежа? Или это возможно только в 2 запущенных копиях АВТОКАДА? Ridder AutoCAD 5 22.07.2010 06:02
Трудность установки проверенного и работавшего Автокада 2008 gonch AutoCAD 2 30.04.2010 11:18
Что является элементом коллекции, а что нет? Supermax Программирование 1 07.01.2010 22:46
Объектная модель Автокада (настоящая) Supermax Программирование 16 05.01.2010 15:08