|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#16
|
|||
|
|||
Подскажите из-за чего может вся форма быть как бы(!) заблокированной, тк на самом деле везде disabled=false - выпадающие списки не выпадают, попытка открыть дополнительные окна приводит к критической ошибке, в поля для ввода нельзя ничего вписать, в полях даты не выпадают календарики итп... хотя в коде и на вид форма вроде ок... не могу даже предположить из-за чего это ?!
Последний раз редактировалось delphicoding, 26.07.2011 в 13:06. |
#17
|
||||
|
||||
А эта форма не дубликат какой-либо? Немного подробнее про неё, как создавалась как открывается.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#18
|
|||
|
|||
Спасибо, что согласились выслушать...
Это та самая форма, которую нужно было объекдинить из 3 дочерних (на самом деле 3х дочерних и 3 ветвей), теперь форма стала независимой class(TForm). Форма очень сложная, много полей для ввода, различне события итп. Форма со своими DataSet и DataSource и также обращением к другим DataSet и DataSource. Создаётся форма в 2х частях программы: а) когда нужно ввести новые данные - глючит б) когда нужно просмотреть уже введённые данные - нормально метод создания вобщем одинаков: а) в главном окне программы P:=TfBaseFormA.create(self); б) из процедуры дочернего окна Application.CreateForm(TfBaseFormA,PA); пробовал менять без разницы При старте формы происходит масса различных обработчиков связанных с отображением полей - пробовал всё отключать - пофиг, не работает... Форма как-то очень странно заблокирована, не видел такого никогда, впечатление, будто что-то разом блокирует все поля... подозрение на DataSet... (возможно и неправильное) но DataSource/DataSet являются невизуальными объектами, то есть не видно кода, как их проверить не знаю... Последний раз редактировалось delphicoding, 26.07.2011 в 13:27. |
#19
|
|||
|
|||
Всё, нашёл ошибку.
Фишка была в том, что кто-то из предыдущих разработчиков решил использовать одну переменную Integer и для передачи числа и в одном месте для True/False. Когда переменная становилась равна 0 - в одном месте это давало False, хотя насколько я понял по-умолчанию Delphi не воспринимает 0 как False, а 1 как True. С учётом этой особенности Delphi, я так делать никогда бы не стал, поэтому этот "самопальный момент" при склейке форм упустил. В общем нужно переписывать многое, чтобы было как следует. эх Последний раз редактировалось delphicoding, 26.07.2011 в 14:25. |
#20
|
|||
|
|||
Цитата:
За пусти примерчик и все поймёшь(надеюсь ) Код:
var i : integer; begin write(i=1); end |
#21
|
|||
|
|||
Очень замороченный пример, пожалуй не буду его запускать...
|