Форум: "Начинающим";
Текущий архив: 2006.11.05;
Скачать: [xml.tar.bz2];
ВнизСоздание классов Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.039 c