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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.03.2012, 14:20   #1
alexchromets
Пользователь
 
Регистрация: 23.12.2010
Сообщений: 49
По умолчанию Проблемы с inheritage(Delphi)

Не запускается программа. Скорее всего из-за того, что класс tester надо вызывать через inheritage.
Подскажите, что не так.
PHP код:
 unit Unit1;
 
interface
 
uses
  Windows
MessagesSysUtilsVariantsClassesGraphicsControlsForms,
  
Dialogs,l2_v7StdCtrlsExtCtrls;
 
type
  TTester 
= class (TObject)
  public
    
peremstring;
    
procedure metod1;
  
end;
 
  
TForm1 = class (TForm)
    
Button1TButton;
    
Button2TButton;
    
Button3TButton;
    
Button4TButton;
    
Image1TImage;
    
Memo1TMemo;
    
procedure Button1Click(SenderTObject);
    
procedure Button2Click(SenderTObject);
    
procedure Button3Click(SenderTObject);
    
procedure Button4Click(SenderTObject);
  
end;
 
var
  
Form1TForm1;
  
testerTTester;
 
implementation
 
{$R *.dfm}
 
{
*********************************** 
TTester ************************************
}
procedure TTester.metod1;
begin
  
//2 - отрицательная степень
  
input(1,1,-2);
  try
    
perem:='отрицательная степень - ok';
  
except
    perem
:='отрицательная степень - failed';
  
end;//2
end;
 
{
************************************ 
TForm1 ************************************
}
procedure TForm1.Button1Click(SenderTObject);
begin
  tester
.metod1;
  
memo1.Lines.Add(tester.perem);
end;
 
procedure TForm1.Button2Click(SenderTObject);
begin
  
//1 - отрицательный корень
  
input(-1,1,1);
  try
    
calculate;
    
memo1.Lines.Add('отрицательный корень - ok');
  
except
    memo1
.Lines.Add('отрицательный корень - ok');
  
end;//1
 
end;
 
procedure TForm1.Button3Click(SenderTObject);
begin
    
//3 - деление на ноль
    
input(1,1,1);
    try
      
calculate;
      
memo1.Lines.Add('деление на ноль - ok');
    
except
      memo1
.Lines.Add('деление на ноль - failed');
  
end;//3
end;
 
procedure TForm1.Button4Click(SenderTObject);
begin
    
//4 - переполнение
    
input(10,20,10);
    try
      
calculate;
      
memo1.Lines.Add('переполнение - ok');
    
except
      memo1
.Lines.Add('переполнение - failed');
  
end;//4
end;
  
tester.Create;
  
tester.metod1;
end
Вот код подключаемого модуля:
PHP код:
unit l2_v7;
 
interface
uses math;
 
var 
a,p,l,i:double;
 
  
procedure input(a_,p_,i_:double);
  
procedure calculate();
 
implementation
  procedure input
(a_,p_,i_:double);
  
begin
    a
:=a_;p:=p_;i:=i_;
  
end;
 
  
procedure calculate();
  
begin
    l
:=(sqrt(2*a)*(p-power(a,i)))/power((p-a),i+1);
  
end;
end
alexchromets вне форума Ответить с цитированием
Старый 30.03.2012, 15:13   #2
GreenWizard
мальчик-помогай =)
Форумчанин
 
Регистрация: 16.09.2010
Сообщений: 522
По умолчанию

при создание формы создаём Tester (Tester := TTester.Create), а при выходе уничтожаем... через OnCreate\OnDestroy или Create\Destroy или выносим Тестер в модуль др. и в initialization\finalization (предпочтительнее, если глобальный сингелтон т.е. один объект на всю программу)
GreenWizard вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы с Delphi 7 на Windows 7 (delphi не принимает пути с кирилицей) unbanned Общие вопросы Delphi 12 16.04.2011 21:19
проблемы с checkbox в delphi sofiya Помощь студентам 2 20.02.2011 21:25
Проблемы с delphi 7 bestful Общие вопросы Delphi 10 01.06.2010 14:04
Проблемы в Delphi Николай ПН Помощь студентам 4 15.04.2010 21:57
Delphi. Проблемы Котакот Помощь студентам 1 20.04.2009 01:27