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

Вниз

Создание классов   Найти похожие ветки 

 
Tab   (2006-10-18 19:46) [0]

Создал следующие классы:
type
  MainC = class
   t: integer;    
   //Cl1
   pt_l: array [1..2] of integer;
   fr: boolean;
   //Cl2
   pt: array of Integer;
   procedure Calc; virtual; abstract;
 end;
type
 Cl1 = class (MainCLass)
constructor Create;
   procedure Calc; override;
 end;
 
 type
  Cl2 = class (MainCLass)
   constructor Create;
   procedure Calc; override;
 end;

-- в программе делаю следующим образом:
var
  List_obj: array [1..100] of MainCLass;
 ..
 List_obj[1]:=Cl1.Create;
 List_obj[2]:=Cl2.Create;
 ..
 for i:=1 to 2 do
List_obj[1]:=calc;

-- но Calc не вызвается ни для Cl1 ни для Cl2


 
Loginov Dmitry ©   (2006-10-18 19:50) [1]

А где реализация методов?


 
Kolan ©   (2006-10-18 19:51) [2]


> List_obj[1]:=calc;

Чтоо это?

List_obj[1].Calc так может?

PS
 Неужели перед названием класса сложно поставить букву "T"


 
Tab   (2006-10-18 19:53) [3]


> List_obj[1].Calc так может?

да, опечатка.  сорри.


 
Kolan ©   (2006-10-18 19:55) [4]


>
>
> да, опечатка.  сорри.
>

Дык это и есть ошибка?


 
Tab   (2006-10-18 20:10) [5]


> Дык это и есть ошибка?

нет , при копировании ошибся.


> А где реализация методов?

расчеты, рисование на канве


 
Kolan ©   (2006-10-18 20:13) [6]


> нет , при копировании ошибся.

Тогда с чего ты взял что они не вызываются? Кроме того

List_obj: array [1..100] of MainCLass;

Cl1 = class (MainCLass)

Cl2 = class (MainCLass)


А вверхуууу:

MainC = class


 
Tab   (2006-10-18 20:18) [7]

вот более полная картина

type
  MFigure_= class
   MPen : TGPPen;
   objType: integer;
   //MLine
   pt_l: array [1..2] of TGPPoint;
   first_p_set: boolean;
   //MPoly
   points_count: integer;
   pt: array of  TGPPoint;
   //
   procedure Draw(gp: TGPGraphics); virtual; abstract;
   procedure Calc; virtual; abstract;
 end;

type
 MLine = class (MFigure_)
   procedure Draw(gp: TGPGraphics); override;
   procedure Calc; override;
 end;

 type
  MPoly = class (MFigure_)
   points_count: integer;
   first_p_set: boolean;
   constructor Create; overload;
   procedure Draw(gp: TGPGraphics); override;
   procedure Calc; override;
 end;

procedure MLine.Draw(gp: TGPGraphics);
begin
 gp.DrawLine(MPen,pt_l[1],pt_l[2]);
end;

procedure MPoly.Draw(gp: TGPGraphics);
begin
 gp.DrawPolygon(MPen, PGPPoint(@pt[0]), points_count);
end;


 
Tab   (2006-10-18 20:24) [8]

разобрался, вопрос закрыт. Kolan, Loginov Dmitry спасибо за участие!



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

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

Наверх




Память: 0.48 MB
Время: 0.036 c
2-1161086229
vain
2006-10-17 15:57
2006.11.05
Отладка функций в dll


2-1161607497
Чипырик
2006-10-23 16:44
2006.11.05
Поиск в TList


1-1159128493
dreamse
2006-09-25 00:08
2006.11.05
Создание компоненты с уже готовой формой


2-1161076001
pkm
2006-10-17 13:06
2006.11.05
Мемо в типизорованном файле.


15-1161108118
learner
2006-10-17 22:01
2006.11.05
Это у меня глюк или у DMClient ?