Модераторам: Было бы неплохо переместить тему в раздел "Lazarus", не с нуля же там всё это писать..
sign писал(а):Ну и как с этим бороться?
Об какую стенку биться?
Алгоритм действий:
viewtopic.php?f=5&t=60&start=30#p47524Обязательно нужно создать тестовый проект с формой и стандартным компонентом, чтобы можно было открыть его и получить на экране то, что у вас на скриншотах.
sign писал(а):В общем, дело то старое. У меня и ранее так же случалось.
Если есть время, можно поставить svn и попробовать вычислить, когда был внесён этот баг. Это может помочь вам откатиться на ту ревизию, где этого бага нет, а разработчикам -- понять причину и исправить баг. Алгоритм таков:
1) Обновляемся до trunk (на момент написания данного поста это была ревизия 32060).
2) Пересобираем Lazarus. Проверяем баг. Если нет -- значит уже исправили, если есть -- продолжаем;
4) Предполагаем, что баг могли внести в самой первой ревизии. Тогда подозрительные ревизии -- с 1 по 32060.
3) Ищем середину интервала подозрительных ревизий по формуле
середина = (последняя_подозрительная - первая_подозрительная) div 2.
Например: (32060 - 1) div 2 = 16029.
Обновляемся до этой ревизии. Пересобираем Lazarus.
4) Проверяем баг. Если он есть -- значит он уже был внесён до 16029 или в ней самой, значит подозрительные ревизии -- с 1 по 16029. Если бага нет, значит он был внесён после 16029, значит подозрительные ревизии -- с 16030 по 32060.
5) Если интервал подозрительных ревизий включает больше одной ревизии -- переходим на п.3. Если ровно одну -- мы нашли проблемную ревизию. Сообщаем о ней разработчикам через багтрекер, сами обновляемся до предыдущей ревизии, если это возможно (если она содержит все нужные фичи и не содержит других критических багов).
Основная часть времени уходит на пересборку Lazarus. Если в это время заняться чем-то полезным, то вся процедура не так уж неприятна.