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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.05.2010, 00:53   #1
GBAXA
Пользователь
 
Аватар для GBAXA
 
Регистрация: 06.05.2010
Сообщений: 73
Вопрос Проблема з класами

Створив клас.
Створив його потомків.
З компіляцією все добре, а підчас виконання помилка 0-00000000
причому помилка підчас процедури в якій використовується дочірній клас,
скільки б не писав команд помилка завжди в останній!!!!!!!!!!!!!!
Допоможіть будьласка

From Stilet:
Создал класс
Создал его потомков
С компиляцией все чики-пики, а во время выполнения ошибка 0-0000000000
Причем ошибка в процедуре, в которой используется дочерний класс (Наверное имеется ввиду обьект класса), сколько бы не писал команд ошибка всегда на последней

Последний раз редактировалось Stilet; 06.05.2010 в 09:11.
GBAXA вне форума Ответить с цитированием
Старый 06.05.2010, 01:05   #2
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Ух какой...подожди мы на картах погадаем, что у тебя там написано в коде...
з.ы. код что-ли покажи =)
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Старый 06.05.2010, 08:09   #3
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

А если бы еще по-русски писал, вообще бы цены тебе не было, а то нам монголам непонятно.
Цитата:
а підчас виконання помилка
Не понятно, но прикольно, надо будет запомнить.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 06.05.2010, 09:12   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
GBAXA
А обьект этого дочернего класса создан перед тем как ты к нему обращаешся?
Цитата:
Не понятно, но прикольно
У нас таких фразочек на Украинском полно
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.05.2010, 09:17   #5
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Ну тогда пусть покажет конструкторы и процесс использования. Сдается мне чего-то он недоинициализировал.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 06.05.2010, 12:45   #6
GBAXA
Пользователь
 
Аватар для GBAXA
 
Регистрация: 06.05.2010
Сообщений: 73
Вопрос

Файл з класами
Код:
unit EL_M;

interface
uses Komp;
type
  TElement = class

  protected
    FU2:real;
    FS1:Komplex;
    FdU:real;
    FdelU:real;
    FdS:Komplex;
    FU1:real;
    FS2:Komplex;
    Fr:real;
    Fx:real;



  public

    function GetdU:real;
    function GetdelU:real;
    function GetdS:Komplex;
    function GetS1:Komplex;
    function GetU2:real;
    function GetS2:Komplex;
    function GetU1:real;
    procedure SetU2();
    procedure SetS1();
    procedure SetdU(U1:real);
    procedure SetdelU(U1:real);
    procedure SetdS(U:real;S:Komplex);
    procedure SetU1(U:real);
    procedure SetS2(S:Komplex);


    property  U2:real read GetU2;
    property  S1:Komplex read GetS1;
    property  dU:real read GetdU;
    property  delU:real read GetdelU;
    property  dS:Komplex read GetdS;
    property  U1:real read GetU1 write setU1;
    property  S2:Komplex read GetS2 write setS2;


  end;

  TLine = class(TElement)
    protected
      FQc:real;
      Fb:real;
    public
      function GetQc:real;
      constructor Create(r: Real; x: Real; b: Real);overload;
      constructor Create(r0: Real; x0: Real; b0: Real; l:real);overload;


      property  Qc:real read GetQc;


  end;

  TTransformator_2 = class(TElement)
    protected
      Fk:real;
      FSxx:komplex;
    public
      function GetK:real;
      function GetSxx:komplex;
      constructor Create(r,x,k:real;Sxx:komplex);

      property K:real read GetK ;
      Property Sxx:komplex read GetSxx;
  end;

  implementation

constructor TLine.Create(r:Real;x:Real;b:Real);
begin
   FU2:=0;
   FS1.Re:=0;
   FS1.im:=0;
   FdU:=0;
   FdelU:=0;
   FdS.Re:=0;
   FdS.Im:=0;
   FU1:=0;
   FS2.Re:=0;
   FS2.im:=0;
  Fr:=r;
  Fx:=x;
  Fb:=b;
end;

function TTransformator_2.GetK;
  begin
    result:=Fk;
  end;

function TTransformator_2.GetSxx;
  begin
    result:=FSxx;
  end;

constructor TTransformator_2.Create(r: Real; x: Real; k: Real; Sxx: Komplex);
  begin
    FU2:=0;
   FS1.Re:=0;
   FS1.im:=0;
   FdU:=0;
   FdelU:=0;
   FdS.Re:=0;
   FdS.Im:=0;
   FU1:=0;
   FS2.Re:=0;
   FS2.im:=0;
    Fr:=r;
    Fx:=x;
    Fk:=k;
    FSxx:=Sxx;
  end;


constructor TLINE.Create(r0: Real; x0: Real; b0: Real; l:real);
  begin
    FU2:=0;
   FS1.Re:=0;
   FS1.im:=0;
   FdU:=0;
   FdelU:=0;
   FdS.Re:=0;
   FdS.Im:=0;
   FU1:=0;
   FS2.Re:=0;
   FS2.im:=0;
    Fr:=r0*l;
    Fx:=x0*l;
    Fb:=b0*l;
  end;

    procedure TElement.SetU2();
      begin
        FU2:=sqrt(sqr(FU1-FdU)+sqr(FdelU));
      end;

    procedure TElement.SetS1();
      begin
        FS1:=Plus(FS2,FdS);
      end;

    procedure TElement.SetdU(U1:real);
      begin
        FdU:=(FS1.Re*Fr+FS1.Im*Fx)/FU1;
      end;
    procedure TElement.SetdelU(U1:real);
      begin
        FdelU:=(FS1.Re*Fx-FS1.Im*Fr)/FU1;
      end;

    procedure TElement.SetdS(U:real;S:Komplex);
      begin
        FdS.Re:=(sqr(Absolut(S2))/sqr(FU1))*Fr;
        FdS.Im:=(sqr(Absolut(S2))/sqr(FU1))*Fx;
      end;

    procedure TElement.SetU1(U:real);
      begin
        FU1:=U;
      end;

    procedure TElement.SetS2(S:Komplex);
      begin
        FS2:=S;
      end;

    function TElement.GetdU:real;
      begin
        result:=FdU;
      end;
    function TElement.GetdelU:real;
      begin
        result:=FdelU;
      end;

    function TElement.GetdS:Komplex;
      begin
        result:=FdS;
      end;

    function TElement.GetS1:Komplex;
      begin
        result:=FS1;
      end;

    function TElement.GetU2:real;
      begin
        result:=FU2;
      end;

    function TElement.GetS2:Komplex;
      begin
        result:=FS2;
      end;

    function TElement.GetU1:real;
      begin
        result:=FU1;
      end;

    function TLINE.GetQc:real;
      begin
        result:=FQc;
      end;

end.
Процедура
Код:
procedure TForm1.Image1Click(Sender: TObject);
var r:Komplex; mm:TTransformator_2;
begin
r.Re:=50;
r.Im:=20;
mm.Create(1,2,6,r);
label1.Caption:=floattostr(mm.K);
mm.Free;
end;

Последний раз редактировалось Stilet; 06.05.2010 в 15:44.
GBAXA вне форума Ответить с цитированием
Старый 06.05.2010, 14:26   #7
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

Цитата:
mm.Create(1,2,6,r);
не правильно
Код:
mm := TTransformator_2.create(1,2,6,r);
ZuBy вне форума Ответить с цитированием
Старый 06.05.2010, 14:28   #8
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Код:
mm:=TTransformator_2.Create(1,2,6,r);
mm еще не создан, поэтому и вызвать его метод Create нельзя, а TTransformator_2 уже описан.

ЗЫ. Опоздал
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 06.05.2010 в 14:30.
Utkin вне форума Ответить с цитированием
Старый 06.05.2010, 14:29   #9
GBAXA
Пользователь
 
Аватар для GBAXA
 
Регистрация: 06.05.2010
Сообщений: 73
По умолчанию

Цитата:
Сообщение от ZuBy Посмотреть сообщение
не правильно
Код:
mm := TTransformator_2.create(1,2,6,r);
Мені потрібно створювати об'єкт з параметрами
GBAXA вне форума Ответить с цитированием
Старый 06.05.2010, 14:31   #10
GBAXA
Пользователь
 
Аватар для GBAXA
 
Регистрация: 06.05.2010
Сообщений: 73
По умолчанию

как создать?????????????????
GBAXA вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с рамами/Проблема с ЖД DRAGGER Компьютерное железо 6 04.01.2009 23:37
Помогите пожалуста в работе с класами neo_m Помощь студентам 8 12.06.2008 14:25