которой расположен dbgrid. Из формы вызывается вторая форма с полями для редактирования данных. В Делфи можно было сослаться на первую форму и из датасета вытащить данные для формы, в случае редактирования записи. В Лазарус ругается на то, что нельзя использовать модуль, который уже использован в предыдущем модуле. Проще говоря, я вызываю из Form1 -> Form2. Но из Form2 я не могу обратиться к Form1. Как я таком случае правильнее сделать? Перетащить датасорс на дата модуль и оттуда вытаскивать данные. Или сделать свойства в Form2 и передавать в них значения перед открытием формы?
Просто передай ссылку на Dataset. И редактируй текущую запись. Вся фигня с Dataset, отчасти, была на то и заточена, чтобы об этом не думать - согласование состояний, в тч и редакторов.
Стикер
Стикер
Не понял. Что значит передать ссылку? Редактировать запись я буду через sql. Сейчас вопрос в том, как заполнить поля из датасета, который находится на Form1, а поля, куда нужно вывести инфу в поля, находится на Form2.
В Form2 сделать property DataSet: TDataSet read FDataSet write SetDataSet; Перед вызовом Form2 делать Form2.DataSet := Form1.DataSet1; В SetDataSet проставлять полям значения Но раз Form1.DataSet1 известен заранее, то значения проставлять OnShow из него)
Катерина, спасибо большое за конкретный пример! Теперь все понятно)
RTFM Прилично и коротко.
Обсуждают сегодня