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

Вниз

Создание указателя на экземпляр класса   Найти похожие ветки 

 
Ezh   (2005-09-21 23:31) [0]

Здравствуйте!
Мне динамически, нужно создавать и удалять экземпляры класса, которые являются указателем и заносить из в Лист тоесть:


type
 TEnemy = class
 private
   x,y: Integer;
   res: TBitmap;
   constructor create;
   destructor destroy;
   procedure Draw;
   procedure Move;
   procedure Check;
 end;

------
var
 Enemy: ^TEnemy;
 MyEnemyList: TList;

------

procedure EnemyCreate;
begin
 New(Enemy);
 Enemy^.x:= GetSystemMetrics(SM_CXSCREEN) + Random(500);
 Enemy^.y:= Round(GetSystemMetrics(SM_CYSCREEN)/2);
 enemy^.res:= TBitmap.Create;
 enemy^.res.Transparent:= True;
 enemy^.res.LoadFromFile("Enemy1.bmp");
 MyEnemyList.Add(Enemy);
end;

//Вот только нужно сначала скриэйтить экземпляр класса TEnemy,  я делаю так :

procedure TForm1.FormCreate(Sender: TObject);
begin
 enemy^:= TEnemy.create;
end;

//Но тут полная лажа...



Скажите, можно ли вообще создавать указатель на свой класс???И как его в таком случае скриэйтить?


 
злобная танька   (2005-09-21 23:49) [1]

ерунда какая-то..
почитай в справке про классы. В переменной Enemy: TEnemy - уже содержится указатель.
и используй TObjectList вместо TList


 
Lamer@fools.ua ©   (2005-09-21 23:51) [2]

> Enemy: ^TEnemy;

Учить матчасть.

В случае объявления
Enemy: TEnemy
Enemy - указатель на экземпляр класса.


 
злобная танька   (2005-09-21 23:53) [3]

примерно так:

------
var
MyEnemyList: TObjectList;  //список твоих Enemy

------

procedure TEnemy.Create;  //описание конструктора
begin
x:= GetSystemMetrics(SM_CXSCREEN) + Random(500);
y:= Round(GetSystemMetrics(SM_CYSCREEN)/2);
res:= TBitmap.Create;
res.Transparent:= True;
res.LoadFromFile("Enemy1.bmp");
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 TMyEnemyList.Add(TEnemy.Create);  //создаем экземпляр и добавляем в список
end;


 
Ezh   (2005-09-22 00:11) [4]

Всем большое спасибо, все вышло!



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

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

Наверх




Память: 0.47 MB
Время: 0.031 c
11-1101233858
Alex-
2004-11-23 21:17
2005.10.16
Сдвиг TKolImageShow ?


4-1124127936
Eagle Owl
2005-08-15 21:45
2005.10.16
Создание окна с содержимым на WinAPI


4-1124136597
freezzz
2005-08-16 00:09
2005.10.16
перевести с л дельфи на асм


14-1127212706
pazitron_brain
2005-09-20 14:38
2005.10.16
шкс,


5-1100270416
SergV
2004-11-12 17:40
2005.10.16
Свойство Transperent в компоненте Panel.