Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.29;
Скачать: CL | DM;

Вниз

Управление компонентами формы из модуля данных   Найти похожие ветки 

 
Zlodey   (2004-08-11 14:17) [0]

Как в каком-либо событии компонента в модуле данных например изменить свойство кнопки?

customform(owner).btnTemp.Caption:="" не получается


 
KSergey ©   (2004-08-11 14:20) [1]

uses модуль_формы?
Только вот циклические ссылки, подозреваю, начнутся
Тогда это перенести в implementation в datamodule, например

PS
А вообще, я не люблю в датамодуль класть все датасеты. Если уж он используется лишь в конкретной форме да к тому же (более того!) хочет управлять формой - то на форме ему и лежать.
А иначе там черт ногу сломит. Видел я такую прогу.


 
REA ©   (2004-08-11 14:22) [2]

а не надо оттуда управлять (хотя и можно)


 
Zlodey   (2004-08-11 14:26) [3]

в implementation всё прописано.....дайте примерчик, плиз


 
Labert ©   (2004-08-11 14:30) [4]

В дата модуле после implementation пишешь uses модуль главной формы


implementation
uses MainFormUnit;
{$R *.dfm}


 
begin...end ©   (2004-08-11 14:36) [5]


> [4] Labert ©   (11.08.04 14:30)


> {$R *.dfm}

А это зачем здесь?


 
Zlodey   (2004-08-11 14:38) [6]

>> Labert ©   (11.08.04 14:30) [4]
Неа, всё-равно не пашет....
customform(owner).btnTemp.Caption:=""


 
s999   (2004-08-11 14:41) [7]


> Неа, всё-равно не пашет....
> customform(owner).btnTemp.Caption:=""


Потому что пишешь невесть что.

customform(owner) - это что такое?


 
Zlodey   (2004-08-11 14:43) [8]

>> s999   (11.08.04 14:41) [7]
а как писать тогда?


 
begin...end ©   (2004-08-11 14:45) [9]


> [6] Zlodey   (11.08.04 14:38)

Пиши уже имя формы.


 
Zlodey   (2004-08-11 14:46) [10]

modal_sprav


 
begin...end ©   (2004-08-11 14:48) [11]


> [10] Zlodey   (11.08.04 14:46)

:-))))
Я имею в виду, в вызове пиши modal_sprav.btnTemp.Caption:=


 
s999   (2004-08-11 14:48) [12]


> modal_sprav


Если это имя переменной формы, то и пиши

modal_sprav.btnTemp.Caption:="";

И про uses не забудь.


 
Zlodey   (2004-08-11 14:50) [13]

да вы что.....а аксес виолатион?


 
s999   (2004-08-11 14:53) [14]


> да вы что.....а аксес виолатион?


Ты хоть понимаешь о чем спрашиваешь или просто дурачишься?


 
begin...end ©   (2004-08-11 14:56) [15]


> да вы что.....а аксес виолатион?

Хде?


 
Zlodey   (2004-08-11 14:57) [16]

я уже раз десять писал так как ты мне говоришь, но результат такой EAccessViolation!!!!


 
Zlodey   (2004-08-11 14:58) [17]

procedure TDataModule1.s_nadgr_colorsAfterEdit(DataSet: TDataSet);
begin
modal_sprav.btnAddPost.Caption:="Çàïèñàòü";
modal_sprav.btnDelCancel.Caption:="Îòìåíèòü";
end;

вот.....и тут выдаёт EAccessViolation


 
s999   (2004-08-11 15:01) [18]


> я уже раз десять писал так как ты мне говоришь, но результат
> такой EAccessViolation!!!!


Чтож, если modal_sprav у тебя не создан, то чему удивляться? Книжки почитать надо..


 
begin...end ©   (2004-08-11 15:02) [19]


> [17] Zlodey   (11.08.04 14:58)

Форма создана?


 
Zlodey   (2004-08-11 15:02) [20]

вообще-то он создан, и я из него радактирую ту таблицу s_nadgr_colors


 
KSergey ©   (2004-08-11 15:03) [21]

Я теряюсь... в смысле слов нет... приличных

А форма - автокрейтная? Если нет- так создать бы ее как-бы не криво
Либо этот код срабывает раньше, чем создается автокрейтая форма (т.к. дата модуль обычно раньше форм создается). Хотя AfterEdit - по идее не при создании должно вызываться, хотя фиг его знает как там все попутано...


 
Zlodey   (2004-08-11 15:03) [22]

да, создана


 
KSergey ©   (2004-08-11 15:04) [23]

> [20] Zlodey   (11.08.04 15:02)
> вообще-то он создан, и я из него радактирую ту таблицу s_nadgr_colors

Он - это форма?
Значит эта переменная не содержит ссылку на созданный экземпляр бъкта формы.
Ну и книжки - это дельный совет.


 
KSergey ©   (2004-08-11 15:06) [24]

А вообще - идеологию построения надо меня, так мне кажется. Что-то тут не то...


 
begin...end ©   (2004-08-11 15:08) [25]

Может быть, она у него создана в Design"ере? И всё? :-)


 
Zlodey   (2004-08-11 15:09) [26]

форму я вызываю из главной формы приложения Tmodal_sprav.Create(self)...грубо говоря, т. е. не автокрейтная, да датамодуль у меня загружается первым


 
KSergey ©   (2004-08-11 15:12) [27]


> Tmodal_sprav.Create(self)...

А весь код создания можно? Т.е. ссылка переменной-то присваивается?


 
Плохиш ©   (2004-08-11 15:13) [28]


> Zlodey   (11.08.04 15:09) [26]
> форму я вызываю из главной формы приложения Tmodal_sprav.Create(self)...грубо
> говоря, т. е. не автокрейтная, да датамодуль у меня загружается
> первым

Это в делфи баг такой, при вызове Tmodal_sprav делфи не ищет соответствующие переменные типа Tmodal_sprav и не инициализирует их :-)


 
begin...end ©   (2004-08-11 15:14) [29]


> [26] Zlodey   (11.08.04 15:09)

modal_sprav := Tmodal_sprav.Create(self)


 
Zlodey   (2004-08-11 15:25) [30]

Плохиш ©
я не понимаю это форум для помощи создан или что бы здесь болтали языком не по делу.......если тебе нечего сказать, то молчи....умнее выглядеть будешь


 
begin...end ©   (2004-08-11 15:29) [31]


> [30] Zlodey   (11.08.04 15:25)

Я не понял, как там насчёт [27], [29] ?


 
KSergey ©   (2004-08-11 15:30) [32]

> [30] Zlodey   (11.08.04 15:25)

Ой, лучше не наезжай.
Здесь никто никому ничем не обязан. Могут и забить (понимай во всех смыслах).


 
Zlodey   (2004-08-11 15:34) [33]

уже теперь вечером ещё подниму тему....мне инет обрубают :(


 
KSergey ©   (2004-08-11 15:37) [34]

> [33] Zlodey   (11.08.04 15:34)

Поднимать-то зачем? Ты лучше на [31] begin...end ©   (11.08.04 15:29) ответь!
Ну либо примени...


 
Zlodey   (2004-08-11 21:42) [35]

у меня на форме грид и 3 кнопки: Добавить, Удалить и Закрыть, но мне ещё нужно редактирование реализовать, вот мне и нужно что бы у кнопок Добавить и Удалить менялись заголовки на Записать и Отменить, но как мне отследить когда запись в гриде начинает редактироваться?


 
Алхимик ©   (2004-08-11 21:58) [36]

modal_sprav.btnAddPost.Caption:="Ляля";
замени на
if Assigned(modal_sprav) then
  modal_sprav.btnAddPost.Caption :="Ляля"
else
  ShowMessage("Я редиска и немного мазафака, потому что
               морочу людям головы!");


 
KSergey ©   (2004-08-12 00:20) [37]

> Zlodey   (11.08.04 21:42) [35]

Ну тогда наверное - да...
Хотя я так и не понял с исходной проблемой.. Видимо она решилась.


 
Zlodey   (2004-08-12 07:46) [38]

Вот.....
DataModule загружается первым.
Обыкновенное MDI-приложение...из главной формы открывается другая форма вот таким макаром:
if not Assigned(viewoldmog)
 then begin
        viewoldmog:=Tviewoldmog.Create(Application);
        viewoldmog.Show;
      end;

из viewoldmog запускается другая форма
Enabled:=False;
Tinputoldmog.Create(self);

некрасиво, я знаю, но так надо.....
из inputoldmog открывается ещё одна форма:
Enabled:=False;
Tmodal_sprav.Create(self);

а вот при попытке редактирования записи в гриде формы modal_sprav нужно что-бы кнопка на modal_sprav изменяла Caption


 
Юрий Зотов ©   (2004-08-12 08:06) [39]

> Zlodey

Вы переменной modal_sprav какое-нибудь значение присваивали? Нет. Ну так и чему же удивляться?

modal_sprav := Tmodal_sprav.Create(self);


 
Zlodey   (2004-08-12 09:06) [40]

Юрий Зотов ©   (12.08.04 08:06) [39]

Спасибки



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

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

Наверх




Память: 0.55 MB
Время: 0.064 c
14-1091912927
default
2004-08-08 01:08
2004.08.29
встреча


3-1091700236
Smart
2004-08-05 14:03
2004.08.29
MySQL и Delphi


1-1092339983
Cobalt
2004-08-12 23:46
2004.08.29
Установка компонент в D7


1-1092522724
AlexeyM
2004-08-15 02:32
2004.08.29
вторая копия проги


6-1088318929
SergP
2004-06-27 10:48
2004.08.29
TServerSocket. Как узнать порт?