|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Передача DataSet из формы в форму
На главной форме Передаю в диалог три таблицы (GTD Warehouse Nomenclature):
Код:
procedure TFormMain.dxNavBar2Item1Click(Sender: TObject); begin if MessageDlg('Новое поступление на склад?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then with TFormNewItemOnWarehouse.Create(Application) do try Execute(GTD, Warehouse, Nomenclature); finally Free; end else // обновление вьюхи склада end; В методе Execute: Код:
function TFormNewGTD.Execute(GTDDataSet: TDataSet): boolean; begin dsGTD.DataSet := GTDDataSet; dsWarehouse.DataSet := WarehouseDataSet; dsNomenclature.DataSet := NomenclatureDataSet; Result := ShowModal = mrOk; end; Если здесь же попробовать написать: Код:
dsGTD.DataSet.Insert; Теперь эта форма становится главной и я из неё передаю GTDDataSet дальше: Код:
procedure TFormNewItemOnWarehouse.btnNewGTDClick(Sender: TObject); begin with TFormNewGTD.Create(Application) do try dsGTD.DataSet.Insert; if Execute(dsGTD.DataSet) then dsGTD.DataSet.Post else dsGTD.DataSet.Cancel; finally free; end; end; Код:
dsGTD.DataSet.Insert; Пробовал эту строчку унести внутрь вызываемого диалога, ошибка та же. Чую, чего-то я не знаю про передачу DataSet'ов из формы в форму. И корень зла, мне кажется в том, что в первый раз я передаю ADOTable, а второй раз я передаю DataSet из DataSource. Поправляйте, если что-то не правильно думаю. Последний раз редактировалось Uniq!, 26.07.2014 в 20:58. |
#2
|
||||
|
||||
Цитата:
Как говорится, компьютер выполняет то, что написал программист, а не то, что он имел в виду. Не стоит путать форумы с богадельнями. © Bargest |
Этот пользователь сказал Спасибо Freeman за это полезное сообщение: | ||
Uniq! (26.07.2014)
|
#3
|
||||
|
||||
Цитата:
|