Как понять какие параметры с Инспектора объектов изменятся?

Вопросы программирования и использования среды Lazarus.

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

Как понять какие параметры с Инспектора объектов изменятся?

Сообщение GAMER » 25.10.2010 20:45:12

Как понять какие параметры с Инспектора объектов изменятся после запуска собраной программы.
Навеяно обсужденем бага с размерами высоти строк по умолчанию в стринггриде.
До этого, я всегда считал, что те параметры которые указаны в Инспекторе объектов сохраняют свои значения если их не менять. Оказалось я ошибся. Так вот, как понять, что будет менятся при создании объекта, а что - нет?
Аватара пользователя
GAMER
энтузиаст
 
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина

Re: Как понять какие параметры с Инспектора объектов изменятся?

Сообщение alexs » 25.10.2010 23:48:16

Конкретно у свойств может быть объявлен модификатор stored
Необходимо его смотреть.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Как понять какие параметры с Инспектора объектов изменятся?

Сообщение GAMER » 26.10.2010 00:06:44

Это нужно в исходниках смотреть, а по визуальному виду параметра в Инспекторе объектов как-то можно угадать?
Как то не хочеться все параметры присваивать при созданиии объекта.
Аватара пользователя
GAMER
энтузиаст
 
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина

Re: Как понять какие параметры с Инспектора объектов изменятся?

Сообщение Максим » 26.10.2010 02:52:34

Не надо присваивать все праметры, нужно просто понимать их значение. Если параметр непонятно ведёт себя, то, возможно, это проявление ошибки.
Аватара пользователя
Максим
энтузиаст
 
Сообщения: 598
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва

Re: Как понять какие параметры с Инспектора объектов изменятся?

Сообщение GAMER » 26.10.2010 10:06:51

2 Максим.
Вопрос навеян багом http://mantis.freepascal.org/view.php?id=17692.
Если я верно понял разработчика, то высота строки в гриде зависит от шрифта. Вроде как и логично, чтобы текст помещался.
Но, с другой стороны, хочется быть уверенным, что если значения параметра я вижу в Инспекторе объектов, то такое же значение должно быть и в програме в момент выполнения, не зависимо ни от чего.
Думаю, что есть и другие подобные параметры. Так вот, как узнать, что параметр может изменяться в зависимости от других факторов самостоятельно, а какой не будет меняться сам.
Аватара пользователя
GAMER
энтузиаст
 
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина

Re: Как понять какие параметры с Инспектора объектов изменятся?

Сообщение alexs » 26.10.2010 20:22:59

GAMER писал(а):что если значения параметра я вижу в Инспекторе объектов, то такое же значение должно быть

Вот как раз для грида это не верно ерешение. Зачес вам знать высоту строки во время выполнения? Она сама прекрасно расчитаеся. А задавать абсолютные значения для таких вещей - зло. Если уж так хочется порулить самому - то расчитывай высоту через функции от высоты текста.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Как понять какие параметры с Инспектора объектов изменятся?

Сообщение GAMER » 26.10.2010 21:50:34

2 alexs
Я понимаю Вашу логику и даже согласен с ней. Но задача, которую я решал получилась "алогичной". Я пытался создать форму и обрабатывать ее в случае ресайза. То есть мне нужно, чтобы вид стринггрида был одинаковым при разных шрифтах и параметрах настроек экрана. Имея начальные параметры, я просчитывал коефициент преобразования (геометрия) и изменял указаные параметры на нужные. В том числе и высоту шрифта и высоту ячеек в стринггриде. Так вот, проблема с которой я столкнулся как раз и состояла в том, что начальные параметры изменялись в зависимости от внешних настроек. При чем, высота ячеек менялась, а сам стринггрид по высоте не менялся. Из-за этого не все строки отображались в стринггриде.
Может я принципиально ошибаюсь, но указаный метод обработки при ресайзе меня устраывает. Пока что :)
Аватара пользователя
GAMER
энтузиаст
 
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина

Re: Как понять какие параметры с Инспектора объектов изменятся?

Сообщение alexs » 27.10.2010 20:05:55

GAMER писал(а):а сам стринггрид по высоте не менялся

Форма масштабируется? если да - то поставь просто привязки грида к краям формы. Если нет - то куда растягивать грид? а если он получится больше размеров формы?
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Как понять какие параметры с Инспектора объектов изменятся?

Сообщение GAMER » 27.10.2010 20:12:42

Форма масштабируется, то есть ее можно мышкой расстягивать. Грид не получится больше размеров формы, потому что координаты края грида всегда будут меньше координат края формы (изначально они такие, а потом изменяются умножением на одинаковый коефициент.) Если быть точным, то коефициент расчитывается с размеров формы, а потом применяется ко все объектам.
Но суть не вэтом. Хотелось бы знать (видя только Инспектор объектов), что поменяется при запуске формы само, а что нет.

По ходу вопрос: как влияет изменение настроек шрифта в настройках свойств экрана на шрифт на формах? Он становится больше, но по какой формуле?
Аватара пользователя
GAMER
энтузиаст
 
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина


Вернуться в Lazarus

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

Сейчас этот форум просматривают: Google [Bot] и гости: 16

Рейтинг@Mail.ru