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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.02.2011, 07:26   #21
Ewgen81
 
Регистрация: 02.02.2011
Сообщений: 8
По умолчанию

Цитата:
Сообщение от GunSmoker Посмотреть сообщение
Не создаёшь объект a.

P.S. Ну ты и намутил...
А можешь подсказать, как создать (уже в конструкторе его создал)? Может с методами или свойствами что-то намутил я.
Ewgen81 вне форума Ответить с цитированием
Старый 03.02.2011, 07:44   #22
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Подсказка: где у тебя стоит a:=Tchislo1.Create;?

Ну, в TChislo1.Create.

Хорошо, это значит "a" будет создана только тогда, когда вызовется TChislo1.Create.

А где у тебя вызывается TChislo1.Create?

... в самом TChislo1.Create! И больше нигде.

Откуда следует две вещи:

- TChislo1.Create не вызывается вообще. У тебя в коде нет пути выполнения, который привёл бы к вызову TChislo1.Create.

- Даже если ты вставишь куда-то вызов TChislo1.Create (скажем, в OnCreate формы), то это приведёт к вылету программы, потому что TChislo1.Create у тебя вызывает сам себя бесконечное число раз. Иными словами, при вызове TChislo1.Create он будет бесконечно вызывать сам себя, пока не исчерпает доступную память, после чего программа и вылетит.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 07.02.2011, 11:00   #23
Ewgen81
 
Регистрация: 02.02.2011
Сообщений: 8
По умолчанию

Код:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    GroupBox3: TGroupBox;
    FChislo1: TEdit;
    FChislo2: TEdit;
    FOtvet: TEdit;
    FDeyst: TRadioGroup;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
end;

type
  TChislo = class // класс число
  strict protected
    FChislo1: Real;  // 1 число
    FChislo2: Real;  // 2 число
  public
    property Chislo1: Real read FChislo1 write FChislo1;
    property Chislo2: Real read FChislo2 write FChislo2;
end;

type
  TOtvet = class(TChislo) // класс ответ
  strict protected
    FOtvet: Real;  // Результат вычисления
  public
    property Otvet: Real read Fotvet write FOtvet;
end;

type
  TDeyst = class(TRadiogroup) // выбор действия
    strict protected
      FDeyst: integer;      // результат выбора
    public

end;

var
  Form1: TForm1;
  a,b,c:Real;

  implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var Fchislo1:Tchislo;
    Fchislo2:Tchislo;
    FOtvet:Totvet;
    x:Integer;

begin
Fchislo1:=Tchislo.Create;
Fchislo2:=Tchislo.Create;
Fotvet:=Totvet.Create;

 a:=FChislo1.Chislo1;
 b:=FChislo2.Chislo2;
 c:=0;

   x:=FDeyst.ItemIndex;
   case x of
    0: c :=a+b;
    1: c :=a-b;
    2: c :=a*b;
    3: if b<>0 then
          c:=a/b
          else showmessage ('На ноль делить нельзя');
  end;

 FOtvet.Otvet:=c;

end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Fchislo1.Clear;
  FChislo2.Clear;
  FOtvet.Clear;
end;

end.
Здесь то что не правильно? почему нет ответа?

Все, сам разобрался.



Объединил сообщения.
Модератор.

Последний раз редактировалось Serge_Bliznykov; 08.02.2011 в 08:38.
Ewgen81 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Access violation at address при выполнении end elsin Общие вопросы Delphi 5 30.01.2009 10:29
Access Violation SunKnight Общие вопросы Delphi 2 05.06.2008 16:46
Access violation at address.. RegentM Общие вопросы Delphi 4 01.11.2007 03:46
Ошибка: "Access violation at address 00454F01 in module 'Project1.exe'. Read of address 00000000. Fen1x Общие вопросы Delphi 8 13.10.2007 20:13
Возникает исключение "Access violation at address ... Наташка Общие вопросы Delphi 1 18.05.2007 12:16