Вниз
Скачать: CL | DM;

Указатели.   Найти похожие ветки 

 
RDA ©   (2002-11-12 16:37) [0]

Никогда не понимал указателей, может счас пойму. Есть три модуля.
1. Главная форма (fmMain:TForm).
2. Модуль с компонентами доступа к базе (DM:TDataModule).
3. Форма редактирования базы (fmPred:TForm).

В DM описана процедура которая заполняет выпадающий список расположенный на fmMain значениями из таблицы. (Скорее всего это уже не правильно, но ... пока так).


procedure TDM.LoadPred(ABarComboBox:TdxBarCombo);
begin
if not Pred.IsEmpty then
begin
ABarComboBox.Items.Clear;
Pred.First;
while not Pred.Eof do
begin
if ABarComboBox.Items.Count=0 then ABarComboBox.Items.Add(PredNAZV.AsString)
else
if ABarComboBox.Items.IndexOf(PredNAZV.AsString)=-1
then ABarComboBox.Items.Add(PredNAZV.AsString);
Pred.Next;
end;
end;
end;

Все работает нормально.

Но необходимо поновой заполнить список в случае изменения таблицы (вставка, удаление, изменение), которая редактируется путем вызова fmPred.

Вопрос, как это правильно организовать?
Пока у меня есть два варианта:

1. При вызове из fmMain передать fmPred как переменную выпадающий список, которую использовать при закрытии fmPred для передачи в DM как параметр. Не очень.

2. Повесить в DM на OnDataChange соответствующей таблицы вышеприведенную процедуру - но что тогда использовать как параметр для нее.

Мне кажется здесь нужно как-то использовать указатели на объект, но как ... Может на этом примере разбирусь.


 
Reindeer Moss Eater   (2002-11-12 16:43) [1]

Попробуй так:
procedure TDM.LoadPred(AList:TStrings);


 
Reindeer Moss Eater   (2002-11-12 16:52) [2]

Либо
procedure fmMain.SetupDropDownList(AList:Tstrings);
begin
;Запоняем выпадающий список какого-то контрола переданного из DM
end;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.011 c
1-69360
Nicko
2002-11-10 10:08
2002.11.21
Реестр


4-69613
arbin
2002-10-09 13:33
2002.11.21
Поворот формы


1-69420
SuperVK
2002-11-08 09:55
2002.11.21
Как определить видимость ScrollBar а?


6-69475
Ник Я
2002-09-24 15:48
2002.11.21
Хочу все время видеть на сколько загр. ОЗУ, может кто функцию зна


3-69213
kva
2002-11-01 14:22
2002.11.21
ADOConnection Delphi 5. Проблемы с ConnectionTimeout




   Наверх