• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

Если у вас возникнут вопросы или потребуется дополнительная информация, не стесняйтесь обращаться к нашей службе поддержки. Вы можете связаться с нами по указанным контактным данным на нашем сайте.

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

Вертикальный текст в таблице

Автор redfox, 12.08.13, 21:29:15

« назад - далее »

0 Пользователи и 2 гостей просматривают эту тему.


Sprinter500

Неужели дело в Delphi XE5 ? Или железо?

Среда тоже не виновата.
Убрал лишние модули из Вашего проекта и отредактировал:
- function InitCMPS(): bool;//Активация КОМПАСа
- procedure OpenDOC(Fname: string);//Открыть документ
PS. Инициализация работает нормально.
+ Благодарностей: 1

Sprinter500

Вроде бы все сделал как было сказано. Но все равно вылазит "Интерфейс не поддерживается". И на дополнительном 2D1 вылазит значение nil. Может что недоизменил?

Я писал про инициализацию, а не нажимание на кнопки.
У Вас нет проверок, и т.д.
Во вложении файлы из архива "Позиции 3", на работе время оставалось и что то серьёзное начинать было бессмысленно, я от рихтовал procedure RENM(OldStr,NewStr: widestring); на предмет вылета, без вникания в суть кода, дальше сами.
+ Благодарностей: 1

Sprinter500

Спасибо. Позже проверю заработает ли. На первый взгляд вижу что в процедуре RENM добавилась проверка интерфейсов pKompasDocument2D и pKompasDocument2D1 на равенство нулю (nil). Отсюда появляется вопросе: Если как у меня будет pKompasDocument2D1 = ni, как показывает отладчик, то просто не будет работать остальная часть процедуры. Или я не прав и в случае проверки pKompasDocument2D1 не будет равен nil ?

P.S. На другом компе с WIN7 тоже вылазит у скомпилированной программы ошибка поддержки интерфейса pKompasDocument2D1 .
P.P.S. Позже поробую реализовать подключение на Visual Basic 6. Постморим будет ли там ошибка.

Текст исправлений.
+ Благодарностей: 1

Sprinter500

Жутко стыдно, не заметил как то сразу ))))))

Sprinter500

Мысль появилась. Может это антивирус блокирует обращение к интрефейсу при компилияции или после при работе программы? Хотя может и дело в коде было - позже проверю.

Антивирус не виноват, см. рисунок - код, что у Вас был.
Если ksDoc = nil, соответственно pKompasDocument2D и pKompasDocument2D1 будут равны nil, и на строке: pViewsAndLayersManager := pKompasDocument2D.ViewsAndLayersManager; программа закончит своё существование.
+ Благодарностей: 1

Sprinter500

Судя по показаниям отладчика у меня было:
ksDoc <> nil (были каие то цифры и буквы)
pKompasDocument2D<>nil (тоже самое)
и pKompasDocument2D1=nil

Если программа в 100% буде тзавершать сове сущ-ие если pKompasDocument2D1=nil, то чем мне это поможет? Проще ведь вообще тогда убрать эту строку и забыт ьпро этот интерфейс, не так ли?

Есть альтернативные способы подключения этого интерфейса?

Если pKompasDocument2D<>nil, то не может быть pKompasDocument2D1=nil.

Sprinter500

У меня как то получалось что может :) Потом небольшое видео пришлю чтоб доказать )

Sprinter500

Ты прав - антивирус ни причем. То чем я говорил на видео по размеру протиснуться не могу. ....2D не равен nil,  а происходящий от него ..... 2D1 равен. Скажи как тебе его прислать?


Прикрепленный файл не качай - это часть раздробленного архива с видео. Думал влезу в начале. Удалить уже не могу.

#94
Точку останова поставьте, где отметил и функцию procedure RENM(OldStr,NewStr: widestring); замените, в месте, где обвёл.
По второму видео, Вы не дошагали до точки останова, хотя похоже, что равен nil.
У Вас до этого, на данной системе Компас стоял ниже 12 версии?
+ Благодарностей: 1

Sprinter500

Не могу понять что от меня требуется на третьем скриншоте

Sprinter500

Цитата: Sabahs от 25.04.14, 18:47:26
Точку останова поставьте, где отметил и функцию procedure RENM(OldStr,NewStr: widestring); замените, в месте, где обвёл.
По второму видео, Вы не дошагали до точки останова, хотя похоже, что равен nil.
У Вас до этого, на данной системе Компас стоял ниже 12 версии?

Не помню, но вряд ли стоял после переустновки винды.


Sprinter500

Новая проблема появилась. Добавление вертикального текста с помощью pCellText.AddTextLine(ksTLVerticalText,'456');
работает только для одной строки вертикального текста, для многострочного вертикального это не работает. Появляется лишь то что было добавлено самым первым, остальное игнорируется. Как быть?

Sprinter500

Нежели никто не знает как добавить 2 и более строки вертикального текста в одну ячейку таблицы?