doctorraz Posted May 19, 2021 Report Share Posted May 19, 2021 (edited) в нано 21 по сравнению с прежней версией поправили ThisDrawing.SummaryInfo.GetCustomByKey Key1, strVal теперь оно вызывает исключение если такого ключа нет МОЛОДЦЫ!!! ----------------------- а на SetCustomByKey если нет такого ключа исключений не хватило? ThisDrawing.SummaryInfo.SetCustomByKey Key1, Value1 зачем он создает ключ, когда должен устанавливать его значение, либо вызвать исключение "Ключ не найден" --------------------- AddCustomInfo вообще эпик фэйл Key1="нанодев" Value1="косячат" ThisDrawing.SummaryInfo.AddCustomInfo Key1, Value1 ThisDrawing.SummaryInfo.AddCustomInfo Key1, Value1 ThisDrawing.SummaryInfo.AddCustomInfo Key1, Value1 ThisDrawing.SummaryInfo.AddCustomInfo Key1, Value1 Создаст столько одинаковых ключей, сколько будет вызовов, а должен бы вызвать исключение "дублирующийся ключ" Спойлер Руками в нане пользовательские свойства прям чистый мед править))) Edited May 20, 2021 by doctorraz 2 1 Quote Link to comment Share on other sites More sharing options...
doctorraz Posted June 24, 2021 Author Report Share Posted June 24, 2021 (edited) Продолжил разбираться с пользовательскими свойствами документа. Спойлер И через GUI "Свойства чертежа" поле с таким ключем не добавить. Кроме этого ключ не может состоять из: имя ключа не должно начинаться/оканчиваться переводом каретки vbCr , одних пробелов, заканчиваться с пробелом начинаться с пробела (тут опять нанокосяк, GUI даст возможность создать ключ начинающийся с пробела, т.е. нано и нано это два разных ключа с точки зрения нано, только вот работать со вторым он не сможет, а создать пожалуйста) ------------------- а вот через ActiveX запросто и никакого исключения сформировано не будет Key = "\\<>/?:;*|,=`""" val="запрещено" objAppDoc.SummaryInfo.SetCustomByKey(Key, val) Самый прикол, что нана дает возможность сослаться на эти свойства с "кривыми" ключами полем.. и даже, покажет значение поля... пока не зайдешь повторно в редактирование поля))) ============= В принципе меня это не сильно парит, Regex.Replace рулит, по любому данные проверять. Спойлер Key = Regex.Replace(Key, "[\\<>/?:;*|,=`""]", String.Empty) 'мочим запрещенные символы \<>/?":;*|,=` Key = Regex.Replace(Key, " {2,}", " ").Trim() 'мочим лишние пробелы, обрезаем пробелы и vbcr PS Делайте хорошо, коль беретесь, а то куда не коснись.. все обрывками какими-то, ошметками... запрещенные символы в поле.dwg Edited June 24, 2021 by doctorraz нет предела совершенству 3 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.