Помощь - Поиск - Пользователи - Календарь
Полная версия: Настройка GPS (IDE для Ады)
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Ада и другие языки
Страницы: 1, 2
-TarasBer-
Да я вообще исключениями впервые в жизни решил воспользоваться. Обычно всё на кодах возврата пишу, а исключениями просто обматываю некоторые куски после жалоб пользователей, чтобы если упадёт, то пользователю вывелось что-нибудь посодержательнее, чем "облом по адресу 87654321, обращение к 12345678".
TarasBer
У меня почему-то стало пропадать окно с переменными. То есть если его открыть, потом отрубить отладчик, а потом снова запустить отладчик, то окна переменных не будет видно, чтобы оно появилось, надо все окна утащить в сторону (как плавающие).
В режиме отладки вместо строк, передаваемых в процедуры, видны какие-то адреса, при попытке узнать, что по ним, показывает "неизвестная переменная". Вычисление функций в режиме отладки не работает.
Пока пытаюсь понять, почему моя программа показывает окно только в неотладочном режиме, а в отладочном не хочет регистрировать оконных класс.

Добавлено через 13 мин.
Переменная для extended return не видна в отладчике.
volvo
Странно...

Вот тут я записал небольшое видео, прекрасно показывается окно переменных при инициализации/финализации дебаггера... И окно создается в режиме Debug. И строку показывает...

Цитата
Переменная для extended return не видна в отладчике.
И это неправда. Поменял процедуру на функцию, и вот:
Нажмите для просмотра прикрепленного файла

Может, все дело - в том, что у тебя Gnat GPL 2010, а у меня - GPL 2009? Все-таки, в 2010 они вводили какие-то фичи из стандарта 2012, может, поломали чего?
TarasBer
> Вот тут я записал небольшое видео

Дома посмотрю.

> И окно создается в режиме Debug.

Для того, чтобы преобразовать строку в PCCH при создании оконного класса, я применял функцию, создававшую временный контролируемый объект, который внутри хранил выделенную в куче строку S&0, а также поле с указателем на эту строку. В финализаторе объекта эта строка удалялась.
Если написать что-то типа

C := PCHAR(S).ref;
DoWinAPIFunc©;

То временный объект финализируется не при выходе из подпрограммы, а сразу после присваивания C := PCHAR(S).ref;

Вот и глючило. Мда, нюансов-то сколько.

> Может, все дело - в том, что у тебя Gnat GPL 2010, а у меня - GPL 2009?

Нажмите для просмотра прикрепленного файла

Да, с окном переменных я понял, оно появляется, но иногда имеет 0ю толщину, его надо вытянуть.
volvo
Ну, я и говорю:
TarasBer
Ещё проблема.
Нажмите для просмотра прикрепленного файла
Большую часть времени написания код я не код пишу, а проблемы такие пытаюсь разгребать.
Очень тяжело, просто ужас как тяжело.
Если бы ботланд не додумался до идиотской идеи не вводить автодеструкторы в ООП, я бы давно забил на ГНАТ.
volvo
Нажмите для просмотра прикрепленного файла
Что я не так делаю?
TarasBer
> Что я не так делаю?

Используешь старую версию?
А в 2009 точно всё в порядке? Может, откатиться попробовать.
volvo
Не знаю, мне не с чем сравнивать. Я 2010 под Windows не видел никогда. 2009 - совершенно нормальная версия. Пока не примут А2012, и не поправят под него компилятор - дома обновляться не собираюсь.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.