Вниз
Скачать: CL | DM;

проблема с созданием компонет в run-time е   Найти похожие ветки 

 
Дмитрий Иванов   (2002-08-05 02:04) [0]

Доброй ночи! Не могу понять в чем проблема:((
Хочу создать 30 Image"й и расположить их одна за одной в ScrollBox"e.
Вроде делаю все правильно, но на строчке Top:=H; вылетает Exception.
Главное, если вместо ScrollBox1 писать Form1, то ошибки не будет, и все картинки расположатся как надо, только соответственно это будет на форме, а мне надо в ScrollBox"e.
Вот код:
procedure TForm1.Button1Click(Sender: TObject);
var i,H:integer;BitMap:TBitMap;
begin
H:=0;
BitMap:=TBitMap.Create;
For i:=1 to 30 do
begin
BitMap.LoadFromFile(IntToStr(i)+".bmp");
TImage.Create(ScrollBox1).Name:="Image"+IntToStr(i);
with TImage(FindComponent("Image"+IntToStr(i))) do
begin
Top:=H;
Left:=0;
AutoSize:=True;
Picture.Graphic:=BitMap;
H:=Top+Height+10;
Parent:=ScrollBox1;
end;
end;
BitMap.Free;
end;

ЗЫ Есть подозрения что не срабатывает строка TImage.Create(ScrollBox1).Name:="Image"+IntToStr(i); , только вот почему, я не знаю, ведь вроде как для AOwnera ScrollBox ничем не отличается от Form"ы...


 
Дмитрий Иванов   (2002-08-05 02:06) [1]

Все, заработало как надо, заменил TImage.Create(ScrollBox1).Name:="Image"+IntToStr(i); на
TImage.Create(Form1).Name:="Image"+IntToStr(i);

Ну все-равно, вопрос еще открыт - почему Create"у не нравится ScrollBox как AOwner?


 
Gonza ©   (2002-08-05 02:57) [2]

Потому что FindComponent не находит твой Image, т.к. ищет его в списке компонентов формы. Если написать ScrolBox1.FindComponent, то все будет ОК.


 
Дмитрий Иванов   (2002-08-05 03:45) [3]

понял. спасибо.



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

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



Память: 0.45 MB
Время: 0.029 c
1-48029
proc
2002-08-03 14:12
2002.08.15
Multi Languages StringGrid


3-47914
Larisa
2002-07-24 13:12
2002.08.15
Внесение новой записи в БД


3-47948
Fissher
2002-07-24 22:54
2002.08.15
EDBEnginError: Master has detail records. Cannot delete or modify


1-48181
knaz
2002-08-02 13:06
2002.08.15
ShowMessage


1-48062
diMAN
2002-08-02 19:05
2002.08.15
Ошибка при запуске программы




   Наверх