![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
На главной форме Передаю в диалог три таблицы (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
|
||||
|
||||
|
Цитата:
Как говорится, компьютер выполняет то, что написал программист, а не то, что он имел в виду. ![]() |
| Этот пользователь сказал Спасибо Freeman за это полезное сообщение: | ||
Uniq! (26.07.2014)
| ||
|
#3
|
||||
|
||||
|
Цитата:
|