Главная страница
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.044 c
14-1127274161
Ученик чародея
2005-09-21 07:42
2005.10.16
Шесть самых тупых идей в компьютерной безопасности.


4-1124203470
s999
2005-08-16 18:44
2005.10.16
TranslateMessage и VK_HOME, VK_END...


3-1125668330
Ландграф Павел
2005-09-02 17:38
2005.10.16
.mde как вы оцениваете уровень встроеной защиты?


1-1127225050
Германн
2005-09-20 18:04
2005.10.16
Ошибка Invalid File Name


2-1125398819
FXeS
2005-08-30 14:46
2005.10.16
Динамические массивы