Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.21;
Скачать: CL | DM;

Вниз

Создание Класса   Найти похожие ветки 

 
Yus   (2004-11-10 20:13) [0]

Доброго всем вечера. Создаю класс MyClass который имеет массив Buf. Все компилируется, но при попытке записать в Buf значение выдает ошибку "Запись по адресу 000008". Подскажите, где ошибка

unit Unit1;

interface

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

type
 TForm1 = class(TForm)
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
myclass.Buf[1]:=1;
end;

end.
//---------------------------------------------------------------
unit Unit2;

interface

uses
 Windows;
type
 TMyClass = class(TObject)
 private
   { Private declarations }
 public
 Buf:array[0..5]of integer;
   { Public declarations }
 end;
 var
  MyClass:  TMyClass;

 implementation

end.


 
begin...end ©   (2004-11-10 20:15) [1]

Yus   (10.11.04 20:13)

Может, объект вначале нужно создать?


 
Yus   (2004-11-11 05:36) [2]

Никто не знает??


 
ЮЮ ©   (2004-11-11 05:56) [3]

Тебе же ответили: сначала надо создать экземпляр класса. Без создания экземпляра можно пользоваться только методами класса, но то в свою очередь не должен аользоваться полями. Поэтому в твоем случае надо:
 if myclass = nil then myclass := TMyClass.Create;  
 myclass.Buf[1]:=1;

З.Ы. выносить поля (Buf) в public секцию, имхо, нехороший стиль -зта секция только для свойств и методов, а место полей - только в private


 
Yus   (2004-11-11 06:05) [4]

Все, понял. Благодарю!!



Страницы: 1 вся ветка

Текущий архив: 2004.11.21;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.046 c
14-1099316076
Оля
2004-11-01 16:34
2004.11.21
Как отправить факс?


14-1099622360
Думкин
2004-11-05 05:39
2004.11.21
С днем рождения! 5 ноября


1-1099505314
ZenAS
2004-11-03 21:08
2004.11.21
Интерфейсы


1-1099664180
Cosinus
2004-11-05 17:16
2004.11.21
Runtime create PoupMemu Items... Не разберусь с OnDrawItem...


3-1098350727
Rule
2004-10-21 13:25
2004.11.21
Вот сморю и не пойму как использовать двоеточие в переменных в FB