![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Данные ClientDataSet из MDI формы [D7, XP]
RomanH © (2006-03-22 10:57:00)Доброе утро мастера.Имеется MDI форма в которой находится ClientDataSet1.Из этой формы вызываем модальное.Необходимо получить значение из ClientDataSet1.(
MenID:=Menform.ClientDataSet1.FieldValues['MenID'];) Все работало до того как MenForm было не MDI формой.Не знал что с MDI-окнами так сложно.
RomanH (2006-03-22 14:17:00) [1]В книге написано прежде чем сделать ClientDataSet.ApplyUpdates(0); надо сделать ClientDataSet.Close
А после ClientDataSet.Open
Но так появляется ошибка Can not perform this operation on a closed dataset.
Рамиль (2006-03-22 14:14:00) [2]
> RomanH © (22.03.06 14:05) [11]
Объедени [4] и [9], все же написали уже.
Reindeer Moss Eater (2006-03-22 14:12:00) [3]>Но после метода ApplyUpdates(0) данные в ClientDataSet1 не сохраняются.
Я бы на их месте тоже бы не сохранялся. С таким к ним отношением.
Плохиш (2006-03-22 14:11:00) [4]
> RomanH © (22.03.06 14:05) [11]
> Я понял прежде чем вызвать модальное окно необходимо :Класс
> ClientDataSet, который только лишь прописывается в модальном
> окне, наследовать от основного Clientdataset1 который находится
> в MDI окне.
> Но после метода ApplyUpdates(0) данные в ClientDataSet1
> не сохраняются.
Моя твоя не понимать.
RomanH (2006-03-22 14:05:00) [5]Я понял прежде чем вызвать модальное окно необходимо :Класс ClientDataSet, который только лишь прописывается в модальном окне, наследовать от основного Clientdataset1 который находится в MDI окне.
Но после метода ApplyUpdates(0) данные в ClientDataSet1 не сохраняются.
Плохиш (2006-03-22 12:36:00) [6]
> RomanH © (22.03.06 12:29) [8]
> Уважаемый Плохиш. Не могу понять после read писать с какой
> формы или ну я не знаю
Для начала нужно купить книгу по ооп в делфи и прочитать раздел о создании классов, в частности свойств этих классов. Но рекомендую прочитать всю книгу.
ЮЮ (2006-03-22 12:35:00) [7]TMyModalForm = class(TForm)
private
FClientDataSet: TClientDataSet;
....
public
property ClientDataSet: TClientDataSet read FClientDataSet write FFClientDataSet;
....
end;
RomanH (2006-03-22 12:29:00) [8]Уважаемый Плохиш. Не могу понять после
readписать с какой формы или ну я не знаю.Весь Help просмотрел не знаю что делать
ЮЮ (2006-03-22 11:43:00) [9]А также перед вызовом модальной формы можно задать значение public свойства этой формы, естественно, прописанное ручками.
Плохиш (2006-03-22 11:40:00) [10]
> RomanH © (22.03.06 11:28) [4]
TMyModalForm = class(TForm)
....
public
property ClientDataSet: TClientDataSet read ....
....
end;
procedure TForm1.Button1Click(...);
var
frmModal: TMyModalForm;
begin
...
frmModal := TMyModalForm.Create(nil);
frmModal.ClientDataSet := ClientDataSet;
frmModal.ShowModal;
...
Reindeer Moss Eater (2006-03-22 11:34:00) [11]Все данные передаются в параметрах процедур и функций.
RomanH (2006-03-22 11:28:00) [12]В MDI форме находится анкета пользователей а в модальной форме я редактирую, добавляю,удаляю данные.
То есть вы хотите сказать что вызовом ShowModal из MDI формы можно передать данные СlientDataSet модальной форме.Подскажите пожайлуста как это сделать.
Reindeer Moss Eater (2006-03-22 11:19:00) [13]1. А зачем это делать в модальном окне?
if MyModalWindowShowModal(MyParametersList) then ClientDataSet.ApplyUpdates()
2. Что мешает параметром передать еще и ClientDataSet?
RomanH (2006-03-22 11:12:00) [14]Да значение я передал при вызове модального окна, а что делать если в этом модальном окне необходимо сделать
ClientDataSet.ApplyUpdates(0)
Reindeer Moss Eater (2006-03-22 11:01:00) [15]Из этой формы вызываем модальное
Передай в вызове нужное значение.