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

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

Работа с ListBox из другой формы [D6, WinXP]


Erick ©   (2005-11-28 20:34:00) 

Вообщем ситуация следующая. Есть две формы. На первой форме находится ListBox1 и кнопка. При создании этой формы ListBox заполняется(в моём случае криптопровайдерами уст. в системе). Как только я выбрал из списка нужную мне строку, активизируется кнопка, и после её нажатия создаётся модальное окно (Form2), которое должно содержать свойства выбранного мной криптопровайдера.
По идее свойства должны уже вписаны, как только это окно создастся. Но здесь есть проблема. Насколько я понял, в Delphi все окна создаются одновременно. Поэтому если я буду заполнять свойства в TForm2.FormCreate, то я не смогу узнать какую строку ListBox1 выбрал пользователь. Но свойства, естественно, должны зависить от выбранного криптопровайдера.
Как решить эту проблему? Думаю многие с ней сталкивались.
Заранее благодарен.


Alexandr Bydantcev   (2005-11-28 21:19:00) [1]

Vlad написал все правильно.
Нужно в dpr найти создание формы: что-то типа  Application.CreateForm(TForm1, Form1);
Удалить эту ерунду. И далее по тексту.


Vlad   (2005-11-28 20:47:00) [2]


> Delphi все окна создаются одновременно

Это не так. По крайней мере последовательно.
Подозреваю, нужно просто убить из .dpr создание второй формы (которая модальная) и создавать ее самому. Так, например:

procedure TForm1.Button1Click ....
begin
with TForm2.Create( Self) do
try
  ShowModal;
finally
  Free;
end;
end;

тогда из 2-й формы можешь получить доступ к первой. К примеру, так:
procedure TForm2.FormCreate
begin
TForm1(Owner).ListBox1... // тут обращаешься к выбранной записи.
end;


Наверх

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