Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.07.2009, 13:38   #1
Ольг
 
Регистрация: 14.06.2009
Сообщений: 9
По умолчанию

При вызове процедуры, описаной в подключаемом модуле выдаёца ошибка "[Error] Unit1.pas(28): This form of method call only allowed in methods of derived types"

Вызывающая процедура:
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
Figur.TPoint.Init (48,45,'red');
end;
Проект в прикреплённом файле

Вру. Вызываемая процедура:

Код:
Procedure TPoint.INIT(initX,InitY:integer; initCol:word);
begin
 NewX(initX);
 NewY(initY);
 NewCol(initCol);
end;
Вложения
Тип файла: rar ООП Лаба 4+.rar (165.1 Кб, 9 просмотров)

Последний раз редактировалось Stilet; 31.07.2009 в 15:24.
Ольг вне форума Ответить с цитированием
Старый 31.07.2009, 14:36   #2
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Не понял что делает Ваша пароцедура, но напишите так.
Код:
var
  Form1: TForm1;

implementation
 uses Figur;//Ваш модуль
 var t:TPoint;//создадим объект
{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin
t.Init (10,10,10)//вызовем метод
end;
puporev вне форума Ответить с цитированием
Старый 31.07.2009, 14:42   #3
Ольг
 
Регистрация: 14.06.2009
Сообщений: 9
По умолчанию

Инициирует последующие процедуры

Код:
Procedure TPoint.INIT(initX,InitY:integer; initCol:word);
begin
NewX(initX); //присваиваем переменной значение при помощи процедуры NewX, NewY и NewCol
NewY(initY);
NewCol(initCol);
end; 

procedure Tpoint.NewX(NX:integer);
begin
 x:=NX;
end;

procedure Tpoint.NewY(NY:integer);
begin
 y:=NY;
end;

procedure Tpoint.NewCol(NC:word);
begin
 Col:=NC;
end;


эта подготовка нужна для вызова последующий процедур, к примеру

procedure Tpoint.MOVE(MovX,MovY:integer);
begin
CLR;
 Tpoint.NewX(MovX);
 Tpoint.NewY(MovY);
 DRAW;
end;

//---------------------------------------------------
procedure Tpoint.DRAW;
begin
Form1.Canvas.Pixels [x,y]:=col;
end;

//---------------------------------------------------
Procedure TPoint.CLR;
begin
Form1.Canvas.Pixels [x,y]:=clBtnHighlight;
end;

Последний раз редактировалось Stilet; 31.07.2009 в 15:26.
Ольг вне форума Ответить с цитированием
Старый 31.07.2009, 14:44   #4
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Это в принципе не важно, просто пропишите модуль где это положено и создайте экземпляры объектов.
puporev вне форума Ответить с цитированием
Старый 31.07.2009, 14:53   #5
Ольг
 
Регистрация: 14.06.2009
Сообщений: 9
По умолчанию

объясните пжс, где и как прописать модуль и как создать экземпляры объектов, или посоветуйте где можно найти информацию на эту тему
Ольг вне форума Ответить с цитированием
Старый 31.07.2009, 14:56   #6
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Так я же Вам уже написал! В первом своем посте. Исправьте свой код и все. А почитать хоть где. Наберите в Гугле типа Объектное программирование в Делфи, или объекты в Делфи.
puporev вне форума Ответить с цитированием
Старый 31.07.2009, 17:17   #7
Ольг
 
Регистрация: 14.06.2009
Сообщений: 9
По умолчанию

Вру. Вызываемая процедура:

Код:
Procedure TPoint.INIT(initX,InitY:integer; initCol:word);
begin
 NewX(initX);
 NewY(initY);
 NewCol(initCol);
end;
всё работает. спасибо

Последний раз редактировалось Stilet; 03.08.2009 в 11:16.
Ольг вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание и подключение модулей Claster Общие вопросы Delphi 4 28.02.2009 12:14
подключение модулей... Teleport Помощь студентам 2 25.06.2008 00:26
подключение модулей... Teleport Помощь студентам 1 13.06.2008 15:04
Объединение GWT-модулей ILester JavaScript, Ajax 0 24.10.2007 14:55