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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > .NET > Почему после автозагрузки dll глючит автокад

Почему после автозагрузки dll глючит автокад

Ответ
Поиск в этой теме
Непрочитано 14.06.2018, 01:56 #1
Почему после автозагрузки dll глючит автокад
sychp84
 
Регистрация: 07.12.2017
Сообщений: 12

Добрый день. В реестре следующее:
REGEDIT4
[HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\.....в зависимости от версии\Applications\New1]
"LOADER"="D:\\ClassLibrary.dll"
"LOADCTRLS"=dword:00000002
"MANAGED"=dword:00000001

В windows7 x86,acad13en все хорошо.
В windows7 x64,acad16en код загружается,работает, но...
После обычного вызова Netload в acad, диалоговое окно(выбор пути к dll) появляется спустя пару минут, а также при наведении курсора мыши на первую выпадающую закладку File(в левом верхнем углу) выпадает тоже около минуты(т.е. и там и там фигурируют путь и последние открытые файлы). Все остальное выпадет и работает как надо. При удалении New1 в реестре, отключении сети, перезагрузок, ничего не меняется. Если filedia в 0 то путь сразу показывает после netload, но меню file также выпадает долго. Стало очень неудобно и сейчас нет возможности переустанавливать и чистить систему,реестр,акад. Это глюк ,может переменная какая слетела?
Просмотров: 4641
 
Непрочитано 14.06.2018, 08:28
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


Почисти список последних открытых файлов. Проверь доступность используемых принтеров.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 14.06.2018, 09:12
#3
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Вы как бы покажите, что там в внутри dll... а то там всякое может быть, и еще не так акад тормозить может.
Boxa вне форума  
 
Автор темы   Непрочитано 14.06.2018, 10:22
#4
sychp84


 
Регистрация: 07.12.2017
Сообщений: 12


Ничего необычного в коде нет. Переименование растра на имя текущего файла.

Код:
[Выделить все]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
using System.IO;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.Geometry;
using Autodesk.Windows;
namespace Test
{
    public class Test
    {
        [CommandMethod("editImagePath")]
        public void EditImagePath()
        {
            Document doc = Application.DocumentManager.MdiActiveDocument;
            Editor ed = doc.Editor;
            Database db = doc.Database;
            ObjectId imageDict = RasterImageDef.GetImageDictionary(db);
            try
            {
                using (Transaction trans = db.TransactionManager.StartTransaction())
                {
                    DBDictionary ImageDic = (DBDictionary)trans.GetObject(imageDict, OpenMode.ForWrite);

                    foreach (DBDictionaryEntry ImageDef in ImageDic)
                    {
                        RasterImageDef imageDef = trans.GetObject(ImageDef.Value, OpenMode.ForWrite) as RasterImageDef;
                        ed.WriteMessage(imageDef.ActiveFileName);
                        string strDWGName = doc.Name;
                        string file = Path.GetFileNameWithoutExtension(strDWGName);
                        string path = imageDef.ActiveFileName;
                        string file2 = Path.GetFileNameWithoutExtension(path);
                        string NewPath = path.Replace(file2, file);
                        imageDef.SourceFileName = NewPath;
                        imageDef.ActiveFileName = NewPath;
                        imageDef.Load();
                    }
                    trans.Commit();
                }
            }
            catch (System.Exception ex)
            {
                ed.WriteMessage(ex.Message);
            }
        }
    }
}
Код планировал для пакетного переименования через Autoscript. При первом запуске с автозагруженным кодом (не через autoscript) акад ругнулся (Secutity Concern), поставил галку always load this application и как бы все, начились глюки. По совету Алексея очистил список последних файлов, и избранные папки в Choose. Net Assembly и вроде заработало все. Но как то странно, что так совпало, раньше же работало все (до добавления файла в реестр) и с историей и избранными папками.
sychp84 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > .NET > Почему после автозагрузки dll глючит автокад

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему Автокад не показывает атрибуты, созданные в редакторе блоков, а не непосредственно на чертеже, при вставке блока на чертёж? cancercat AutoCAD 30 06.02.2023 10:20
Почему Автокад 2011 открывает файлы созданные в более ранних версиях "только для чтения"? ***Kazak184*** AutoCAD 23 22.09.2015 09:10
Почему после закрытия документа Атокад выдает ошибку? SNIIP Программирование 9 21.05.2013 17:50
Почему Лира Кс не считает наклонное сечение, после импорта из Dxf? Александр377 Лира / Лира-САПР 3 28.04.2013 18:13
Как избавиться от этой ошибке связанной с RECOVER, после которой обычно вылетает Автокад dextron3 AutoCAD 18 23.06.2011 11:51