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

Вызов процедур MDI форм   Найти похожие ветки 

← →
D@nger   (2009-04-21 14:37) [0]

Здравствуйте! Вызываю из обычной формы процедуру MDI формы следующим образом:

 if MDIChildCount>0 then
  begin
    j:=MDIChildCount-1;
    for i:=0 to j do
    begin
      if MDIChildren[i].Name="FMDI_one" then tfvklad(MDIChildren[i]).setkapaint;
      if MDIChildren[i].Name="FMDI_two" then tfmodul(MDIChildren[i]).setkapaint;
    end;
  end;


Вызов процедур не присходит... почему?


← →
Игорь Шевченко ©   (2009-04-21 14:40) [1]


> Вызов процедур не присходит... почему?


очевидно из-за ошибки


← →
D@nger   (2009-04-21 14:41) [2]

т.е. вот так:

if MDIChildCount>0 then
 begin
   j:=MDIChildCount-1;
   for i:=0 to j do
   begin
     if MDIChildren[i].Name="FMDI_one" then tfmdi_one(MDIChildren[i]).setkapaint;
     if MDIChildren[i].Name="FMDI_two" then tfmdi_two(MDIChildren[i]).setkapaint;
   end;
 end;


← →
D@nger   (2009-04-21 14:42) [3]

если вызываемую процедуру вызывать в этой же MDI форме.. она отрабатывает без ошибки...


← →
D@nger   (2009-04-21 14:50) [4]

ааааа.... нашел где ошибка... процедуру вызывал не из главной формы ...
вот так все заработало:

if fmain.MDIChildCount>0 then
begin
  j:=fmain.MDIChildCount-1;
  for i:=0 to j do
  begin
    if fmain.MDIChildren[i].Name="FMDI_one" then tfmdi_one(fmain.MDIChildren[i]).setkapaint;
    if fmain.MDIChildren[i].Name="FMDI_two" then tfmdi_two(fmain.MDIChildren[i]).setkapaint;
  end;
end;



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

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



Память: 0.45 MB
Время: 0.01 c
15-1238632056
SPeller
2009-04-02 04:27
2009.06.07
Д2009


2-1240312554
ZeroCrash
2009-04-21 15:15
2009.06.07
Поиск поля для ввода текста и его замена


15-1235310066
Andy BitOff
2009-02-22 16:41
2009.06.07
Сотни DVD на диск размером с монету


2-1240290920
wind
2009-04-21 09:15
2009.06.07
снижение скорости


2-1240389619
Mulber
2009-04-22 12:40
2009.06.07
Защита ПО




   Наверх