Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
1-1159230544
Lex_!
2006-09-26 04:29
2006.11.05
Расчет по формуле из БД


15-1161002688
DevilDevil
2006-10-16 16:44
2006.11.05
Си++


1-1159295713
AlexeyT
2006-09-26 22:35
2006.11.05
Задать рамке TPanel стиль от TEdit


15-1160590597
стьюдентЪ
2006-10-11 22:16
2006.11.05
Что вы делаете для души ?


2-1161512417
Terminator2006
2006-10-22 14:20
2006.11.05
ListView





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский