Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

MDI: Как обратится из одной child формы к объектам другой child ф [D7, Win2k]


Страницы:   1 2

CAMCOH ©   (2005-05-25 20:07:00) 

Собственно вопрос в subj
MDI: Как обратится из одной child формы к объектам другой child формы.
Например у меня есть такая строка:

s:=form2.edit1.Text;

Которая вызывается из form1.

Программа ругается и маерится. Обе формы child.
Заранее спасибо за ответ...


Mx   (2005-05-25 21:06:00) [1]


> Defunct ©   (25.05.05 21:03) [36]

Я думаю мы друг друга поняли :)


Mx   (2005-05-25 21:04:00) [2]

Если форм действительно будет несколько CAMCOH, то тебе правильно говорят, впоследствии заколебешься.


Defunct   (2005-05-25 21:03:00) [3]

Mx ©   (25.05.05 21:00) [34]

> А еще всякие настройки, типа, DecimalSeparator, и их все-таки много и они глобальные.

Вы ими пользуетесь? Лично я - нет.

Как для меня, Application и Screen являются локальными в рамках одного DPR.


Defunct   (2005-05-25 21:01:00) [4]

> CAMCOH ©

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


Mx   (2005-05-25 21:00:00) [5]


> Defunct ©   (25.05.05 20:56) [30]

Причем здесь количество? Я имею ввиду глобальные переменные в общем смысле. В этом смысле Application и Screen таковыми и являются. А еще всякие настройки, типа, DecimalSeparator, и их все-таки много и они глобальные.


Просто Джо   (2005-05-25 20:59:00) [6]


>  [32] CAMCOH ©   (25.05.05 20:58)
> Ураа вроде справились с ошибкой.


Это временно, можешь не сомневаться. Ты открыл для них очень широкую дорогу.


CAMCOH   (2005-05-25 20:58:00) [7]

Ураа вроде справились с ошибкой.
Спасибо Mx и всем остальным кто помогал ;)


Просто Джо   (2005-05-25 20:57:00) [8]

<offtop>
Ох, прав АП. Мороны гораздо хуже мормонов.
</offtop>


Defunct   (2005-05-25 20:56:00) [9]

Mx ©   (25.05.05 20:46) [22]
> А как же с Application, Screen и т.п. VCL

Вы написали и т.п., можете назвать еще? Глобальных переменных всего-то на пальцах можно пересчитать, и являются они не более чем фантазией языка "Delphi".

Application и Screen скорее просто локальные переменные в рамках программы. Ведь в программе не может быть 2 Application или 2 Screen.

А форм может быть сколько угодно.


CAMCOH   (2005-05-25 20:56:00) [10]

Мне 2 такие формы не понадобятся по определению.
Написал как ты сказал и что это должно дать ?


Mx   (2005-05-25 20:54:00) [11]

Напиши:

procedure TMainForm.N11Click(Sender: TObject);
begin
form2 := Tform2.Create(Application);
end;


А теперь представь, что тебе надо будет две таких формы. Таким образом, последующий N11Click затрет ссылку на предыдущую, так что подумай правильно ли ты все организуешь.


Просто Джо   (2005-05-25 20:54:00) [12]


>  [26] CAMCOH ©   (25.05.05 20:50)



Откуда в переменной Form2 появится ссылка на твою форму?

Если хочешь извращаться, то тогда уже так:

procedure TMainForm.N11Click(Sender: TObject);
begin
 Form2 := Tform2.Create(Application);
end;


CAMCOH   (2005-05-25 20:50:00) [13]

Mx непонял вопроса...


procedure TMainForm.N11Click(Sender: TObject);
begin
Tform2.Create(Application);
end;


Mx   (2005-05-25 20:49:00) [14]

И чему это присваивается? Та глобальная переменная, которая автоматически добавляется не присваивается волшебным образом, если результат конструктора в нее не занести (Form2 := TForm2.Create(Application)), то в Form2 - ничего нет.


CAMCOH   (2005-05-25 20:47:00) [15]

TForm2.Create(Application);


Mx   (2005-05-25 20:46:00) [16]


> CAMCOH ©   (25.05.05 20:46) [21]

Как создается Form2?


Mx   (2005-05-25 20:46:00) [17]


> Defunct ©   (25.05.05 20:43) [18]
> то в программе нет глобальный переменных вообще

А как же с Application, Screen и т.п. VCL Не грамотно сделана? Иногда такой механизм все-таки нужен!


CAMCOH   (2005-05-25 20:46:00) [18]

В данном кокретном случае на форме2 лежит таблица dbgrid.
а внутри процедур формы1 возникает необходимость выдёргивать данные из этой таблицы.


Defunct   (2005-05-25 20:44:00) [19]

CAMCOH ©   (25.05.05 20:41) [17]

Следствие того, что написано в [18] о глобальных переменных.


Mx   (2005-05-25 20:43:00) [20]


> CAMCOH ©   (25.05.05 20:41) [17]

Видимо за Form2 ничего не закреплено. Напиши наконец в чем задача?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо