Отладка компонентов

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

Отладка компонентов

Сообщение lordgray » 25.01.2016 16:00:31

Здравствуйте!
Недавно обновился до Lazarus 1.6rc2+FPC3, x86-64, Win7, вылезла проблема при отображении Float полей в DBGrid. Решил отладить - в методы стандартных модулей не входит :(
Порылся по настройкам, вроде все связанное с отладкой включено. Что делать? На форуме нашел информацию, что надо пересобрать FPC с отладочной информацией.
Но хоть тресни, не пойму, при чем тут FPC. И если это действительно так, то как это сделать?
Ну и второй вопрос: не отображаются значения свойств/полей объектов. Так и должно быть, или можно что-то сделать?
lordgray
новенький
 
Сообщения: 60
Зарегистрирован: 10.10.2010 00:19:11

Re: Отладка компонентов

Сообщение sign » 26.01.2016 07:36:31

lordgray писал(а): вылезла проблема при отображении Float полей в DBGrid

Включить путь до компонента, тогда отладчик их увидит и подцепит.

lordgray писал(а):не отображаются значения свойств/полей объектов. Так и должно быть, или можно что-то сделать?

Отладчик не отображает результат функций.
Потому, хотите увидеть значение, например, DBGrid.GridStatus, смотрите в отладчике на DBGrid.FGridStatus. А если это функция, то либо присвоить промежуточной переменой, либо войти в функцию.
sign
энтузиаст
 
Сообщения: 1131
Зарегистрирован: 30.08.2009 09:20:53

Re: Отладка компонентов

Сообщение iN0k » 26.01.2016 09:09:45

я бы для начала попробовал пересобрать сам Лазарус ...
Гланое меню - Сервис - Параметры сборки Лазарус - Профиль сборки - Ide в режиме отладки ...
iN0k
постоялец
 
Сообщения: 146
Зарегистрирован: 18.07.2012 14:09:50

Re: Отладка компонентов

Сообщение alexs » 26.01.2016 12:29:33

lordgray писал(а):вылезла проблема при отображении Float полей в DBGrid

DisplayMask?
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Отладка компонентов

Сообщение lordgray » 26.01.2016 18:34:15

sign писал(а):Включить путь до компонента, тогда отладчик их увидит и подцепит.

Вариант, конечно, но раньше не прописывал, и все работало. Да и DBGrid в одном месте, TDataSet в другом, а там еще fields.inc,... Как-то вот оно не так...

sign писал(а):Отладчик не отображает результат функций.

Логично, что-то я сам не додумался. Жаль.

sign писал(а):А если это функция, то либо присвоить промежуточной переменой,

На этом и остановился. Хотя с оригинальными компонентами, это не удобно. Ну да ладно, за 5 лет привыкаю.

alexs писал(а):DisplayMask?

Не. Использую FIBL, где поля Numeric(x,x) - иногда выводиться типа "1,20000000000001". Причем не всегда, но в 90%. И только в 32 битном exe. В x64 все нормально.
Пока решил так:
В TFIBDataSet.OnGetText сделал так:
Код: Выделить всё
var v:Currency;
begin
  v := Sender.Value;
  t := Format('%g', [v]);
end;

И стало все нормально.
Пробовал так делать,
Код: Выделить всё
t := Format('%g', [Round(Sender.Value*100)/100])

все равно лажа.
В общем какие-то проблемы с типом Double

iN0k писал(а):я бы для начала попробовал пересобрать сам Лазарус ...

Пробовал, никак не повлияло.
Отладочную инфу из внешнего файла, переключил на внуть выполнимого. Тоже безрезультатно.
lordgray
новенький
 
Сообщения: 60
Зарегистрирован: 10.10.2010 00:19:11


Вернуться в Общее

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16

Рейтинг@Mail.ru