Главная страница
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.011 c
3-69164
mikl2002
2002-10-31 14:32
2002.11.21
Forced writes в IB6


1-69349
Anar
2002-11-10 00:32
2002.11.21
OnCloseQuery


3-69125
Андрусь
2002-11-01 21:05
2002.11.21
Как прикрутить небазовое поле...


3-69102
Cheester[X3]
2002-11-02 16:38
2002.11.21
Можно ли связать StringGridы c DBGridaми


7-69595
isc
2002-09-20 18:36
2002.11.21
Работа с LPT портом