Главная страница
    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.051 c
15-1161157669
Думкин
2006-10-18 11:47
2006.11.05
Головоломки профессора Головоломки. Гершензон


3-1157093965
Delphi basic
2006-09-01 10:59
2006.11.05
Неправильный расчет выражений в SQL


5-1142359961
Кашперук Иван
2006-03-14 21:12
2006.11.05
Создание красивой кнопки


15-1161121504
ДЛЛ
2006-10-18 01:45
2006.11.05
А можно ли сделать так, чтобы другие не могли подключить мою ДЛЛ


2-1161454380
Officeman
2006-10-21 22:13
2006.11.05
ShellExecute(0, , http://www.delphimaster.r , , SW_SHOW);





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский