Вниз
Скачать: 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 вся ветка

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



Память: 0.46 MB
Время: 0.01 c
3-84917
petyun
2002-08-06 15:57
2002.08.26
Ошибки SQL Midas


1-84963
vlv
2002-08-15 15:40
2002.08.26
Преобразование URL


14-85249
Программист на Паскале
2002-07-31 11:33
2002.08.26
Продукты, сделанные на Delphi


8-85133
Янушка
2002-04-19 11:27
2002.08.26
Как осуществить загрузку рисунка на форму, не используя TImage?


1-85069
TTCustomDelphiMaster
2002-08-13 21:37
2002.08.26
DesctopPreview




   Наверх