Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.26;
Скачать: CL | DM;

Вниз

Frame в dll   Найти похожие ветки 

 
Ekaterina ©   (2002-08-15 10:10) [0]

Есть dll. В ней есть фрейм и форма. Экспортируется процедура, которая помещает фрейм на форму.
procedure Test;
var f:TFrame1;
begin
Form2:=TForm2.Create(Application);
try
f:=TFrame1.Create(Form2);
f.Parent:=Form2;
Form2.Show;
Application.ProcessMessages;
Sleep(2000);
finally
f.Free;
form2.Free;
end;
end;

Это вроде работает. Теперь берём на фрейм помещаем ComboBox и задаём любой непустой Items (если пустой, то всё нормально).
На строке f:=TFrame1.Create(Form2); получаем ошибку:
"Error reading ComboBox1.Items.Strings: Control "Frame1" has no parent window".
Что надо сделать???


 
Skier ©   (2002-08-15 11:33) [1]

>Ekaterina


procedure Test;
var f:TFrame1;
begin
Form2:=TForm2.Create(Application);
try
f:=TFrame1.Create(Form2);
f.Parent:=Form2;
f.ComboBox1.Items.Add("New Item");
Form2.Show;
Application.ProcessMessages;
Sleep(2000);
finally
f.Free;
form2.Free;
end;
end;


 
Ekaterina ©   (2002-08-15 11:38) [2]

Это, конечно, способ обойти проблему, но не её решение. Интересно всё-таки, в чём ошибка в моём варианте.


 
Skier ©   (2002-08-15 11:57) [3]

>Ekaterina

> Интересно всё-таки, в чём ошибка в моём варианте.


Окно ComboBox-а ещё не создано, а он уже пытается отрисовывать
свои Items-ы.

Вообще-то можно написать свой класс TYourComboBox и
в перекрытом методе CreateWnd ( после inherited !)
задавать нужные Items-ы.


 
Ekaterina ©   (2002-08-15 12:04) [4]

Вообще-то, если дело происходит не в dll, то работает и так. Всё создаётся нормально и с Items-ами. И вообще, он не должен пытаться отрисовывать Items-ы, пока не попытается отрисовывать форму. Сперва создаётся форма, потом все её компоненты, вместе с ComboBoxом должен создаться и Items. А рисование происходит после Form2.Show.



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

Текущий архив: 2002.08.26;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.01 c
3-84918
Dim!S
2002-08-07 07:26
2002.08.26
Комбинированный фильтр


1-85073
Stas Ant
2002-08-14 07:00
2002.08.26
Виртуальный винт


14-85172
arbiter
2002-07-26 18:24
2002.08.26
Приплыли


1-84983
PVR
2002-08-15 21:08
2002.08.26
ActiveDesigner


1-85011
Мак
2002-08-14 08:08
2002.08.26
копорование фаилов