![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с 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;