![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Нужно в RUN-Time создавать экземпляры некоторых объектов (для при [D5, Win2k]
NS © (2002-04-17 11:57:00){ Нужно в RUN-Time создавать экземпляры некоторых объектов (для примера
TLabel) и хранить их (указатели на них) в TList.
}
PMyLabel = ^TMyLabel; // указатель на мой тип
TMyLabel = class(TLabel) // мой тип
public
S: string;
end;
var
MyLabel: TMyLabel;
ListLabel: TList;
Form1: TForm1;
implementation
{$R *.DFM}
// --------- Создание формы -----------------------
procedure TForm1.FormCreate(Sender: TObject);
begin
ListLabel:= TList.Create; //созд. список указателей
ListLabel.Clear; // очищаем его
MyLabel:= TMyLabel.Create(Owner); //создаем экземп. объекта
ListLabel.Add(MyLabel); //добавляем указатель нанего в список
// А ЭТО НЕ РАБОТАЕТ хотя компилятор пропускает
PMyLabel(ListLabel.Items[0])^.Caption:= "qqqqqqq";
end;
// А может как-то всё по другому нужно делать.
yaJohn (2002-04-17 12:37:00) [1]MyLabel: TMyLabel это уже указатель. Нет нужды использовать ^
SergeiV (2002-04-17 12:23:00) [2]В Ваш код закралась ошибка
PMyLabel(ListLabel.Items[0])^.Caption:= "qqqqqqq";
замените на
TMyLabel(ListLabel.Items[0]).Caption:= "qqqqqqq";
и все получиться.