Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.06.11;
Скачать: [xml.tar.bz2];

Вниз

Обращение к компонентам размещенным на MDI   Найти похожие ветки 

 
Ярослав   (2006-05-05 15:56) [0]

Пытаюсь на StatusBar размещенный на MDI  передать сообщение из
модуля   данных   выскакивает ошибка ..
Кто знает как правильно обращаться к компонентам  размещенным на  MDI  ???


 
Jeer ©   (2006-05-05 16:06) [1]

Напиши, как ты делаешь неправильно и что за ошибка.
К телепатам -  в другое место.


 
Плохиш ©   (2006-05-05 16:17) [2]


> Кто знает как правильно обращаться к компонентам  размещенным
> на  MDI  ???

Так же как и к компонентам не на МДИ. Но лучше исползовать механизм событий, создай обработчик события в модуле данных. Если речь идёт о MDI-Child, то создай в модуле данных механизм обработки списка форм, требующих обовления и пусть каждая форма, если ей надо, добавляет себя туда при создании и удаляет при разрушении.

> Jeer ©   (05.05.06 16:06) [1]
> К телепатам -  в другое место.

Как? Уже сослали? 8-O


 
Ярослав   (2006-05-05 16:20) [3]

function calctokurs(inif:TInifW;datset:tpFIBDataSet):boolean ;
var
s,d:string ;
skurs,ekurs,stoims,stoime,stgrn: extended ;
 
formss: Tform11 ;

begin
  try
  begin
         inif.IniFileName:=".ini";
         skurs:=inif.readfloat("akurs","aaS");
         ekurs:=inif.readfloat("akurs","ae");
        s:="Ñòîèìîñòü íà äàòó îöåíêè " ;
        d:=" ãðí" ;

        if stat="dol"  then
        begin
  stoims:=datset.FieldValues["st_s"] ;
         stgrn:=stoims*skurs ;
        end ;
        if stat="evr" then
        begin
  stoime:=datset.FieldValues["st_e"];
         stgrn:=stoime*ekurs ;
        end ;

formss.StatusBar1.Panels[1].Text:=s+formatfloat("###.###",stgrn)+d) ;

  end
  except
  messagedlg("Îøèáêà ðàñ÷åòà ñòîèìîñòè ",mterror,[mbok],0);
   datset.Cancel;
  end ;
end;


 
Ярослав   (2006-05-05 16:21) [4]

formss MDI форма


 
Ярослав   (2006-05-05 16:22) [5]

вешаю ее на обработчик  DataSourceDataChange
на не MDI это работало


 
Плохиш ©   (2006-05-05 16:27) [6]


> formss.StatusBar1.Panels[1].Text:=s+formatfloat("###.###",
> stgrn)+d) ;

Ой, я даже знаю текст ошибки :-)
TForm11(Application.MainForm).StatusBar1.Panels[1].Text:=s+formatfloat("###.###",stgrn)+d) ;


 
Плохиш ©   (2006-05-05 16:28) [7]


> Ярослав   (05.05.06 16:22) [5]
> на не MDI это работало

Это была галюцинация или функция была написана по другому.


 
Loginov Dmitry ©   (2006-05-05 18:26) [8]

Зачем сиё действие, если не секрет?


> var
..........
> formss: Tform11 ;


 
ЮЮ ©   (2006-05-06 03:39) [9]

formss тоже перенеси в параметры. Надеюсь, когда вызываешь calctokurs знаешь на какую MDI форму её выводить. Или постарайся вызывать её из методов MDI формы, тогда  formss  == Self. А ещё лучше сделать эту функциональность методом Tform11


 
Ярослав   (2006-05-06 09:56) [10]

Спасибо  я уже разобрался косяк был прост.. нужно было обращаться к активной mdi
uses   DB_BASE,zaprpol,main;

   procedure TSelect_DM.calctokur;
var
s,d:string ;
skurs,ekurs,stoims,stoime,stgrn: extended ;
   formss:tform11 ;

begin
  try
  begin

         inifw1.IniFileName:=".ini";
         skurs:=inifw1.readfloat("akurs","aaS");
         ekurs:=inifw1.readfloat("akurs","ae");
        s:="Стоимость на дату оценки " ;
        d:=" грн" ;

        if tform11(main_form.ActiveMDIChild).N8.Checked=true  then
        begin
  stoims:=select_pFIBDataSet.FieldValues["st_s"] ;
         stgrn:=stoims*skurs ;
        end ;
        if  tform11(main_form.ActiveMDIChild).N10.Checked=true  then
        begin
  stoime:=select_pFIBDataSet.FieldValues["st_e"];
         stgrn:=stoime*ekurs ;
        end ;

tform11(main_form.ActiveMDIChild).StatusBar1.Panels[1].Text:=s+formatfloat("###.###",stgrn)+d ;

  end
  except
  messagedlg("Ошибка расчета стоимости ",mterror,[mbok],0);
   select_pFIBDataSet.Cancel;
  end ;
end;


 
Ярослав   (2006-05-06 09:58) [11]

Правда
formss: tform11;
нужно убрать остатки из прошлой функции



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

Форум: "Основная";
Текущий архив: 2006.06.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.014 c
15-1147670570
Ega23
2006-05-15 09:22
2006.06.11
С Днём рождения! 15 мая


6-1135840770
Wolferio
2005-12-29 10:19
2006.06.11
Ping PC


3-1144926252
konrads
2006-04-13 15:04
2006.06.11
Сменить программно свойство таблицы "Table language"


1-1146751707
Silver...
2006-05-04 18:08
2006.06.11
Сгенерировать Презентацию в PowerPoint


4-1142617056
KALqYAN
2006-03-17 20:37
2006.06.11
Open -> My Computer, My Documents, Control Panel...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский