Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.21;
Скачать: 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 вся ветка

Текущий архив: 2002.11.21;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.02 c
3-69097
Cossys
2002-10-29 18:04
2002.11.21
Использование ДАТЫ при фильтрации данных


3-69200
Yarus
2002-11-01 10:28
2002.11.21
Одновременный запуск


1-69436
Checist[root]
2002-11-11 13:04
2002.11.21
Прога , ну просто горит. Выручайте!


1-69376
Ученик
2002-11-10 12:23
2002.11.21
31 число в какой декаде


1-69313
skeld
2002-11-11 20:49
2002.11.21
Как сделать preview ...