Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Нет записи в член класса (вопрос по классическому ООП) [D7, XP]


Student ©   (2009-04-18 17:12:00) 

Здравствуйте мастера. Такой вопрос, я прям незнаю куда деваться мне, неполучается. Есть программа, в ней 2 модуля.
В модуле есть класс
type
 TMatrix = class (TObject)
 private
   f_time : string;
 public
   procedure Analiz (AFileViewer : TForm1);
 public
   property Time : string read f_time write f_time;
 end;


Описание процедуры

procedure TMatrix.Analiz (AFileViewer : TForm1);
begin
     Self.Time :='sdsd';  //хоть так - ошибка Access viloation
     Time :='dfd'; //хоть так
end;

Из этого же модуля вызываю.
При вызове этой процедуры, дойдя до кода  Self.Time :='sdsd' выдаёт ошибку: Access viloation

Как можно вызвать свойсто записи? Я уж прям в панике весь :( При компиляции ошибок не даёт


Унылый   (2009-04-20 23:47:00) [1]

Разобрался... Копец туплю... Спать надо ложиться...


Унылый   (2009-04-20 23:36:00) [2]

а как создать экземплярчик и где? я что то туплю...


Student   (2009-04-19 10:11:00) [3]


> Б   (18.04.09 18:10) [3]
>
> А кто экземплярчик то будет создавать?


Точно. :-) Пасибо.
Ps. Всё из-за невнимания :-)


Б   (2009-04-18 18:12:00) [4]

Пиши без Self, ведь всё равно совпадающих индефикаторов не наблюдается.


Б   (2009-04-18 18:10:00) [5]

А кто экземплярчик то будет создавать?


Student   (2009-04-18 17:37:00) [6]

Значит модуль 1
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, 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

uses unit2;
var
 Matrix : TMatrix;
{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
   Matrix.Analiz(Form1);
end;

end.


Модуль 2

unit Unit2;

interface

uses unit1;
type
 TMatrix = class (TObject)
 private
   f_time : string;
public
  procedure Analiz (AFileViewer : TForm1);
public
  property Time : string read f_time write f_time;
end;

implementation

procedure TMatrix.Analiz (AFileViewer : TForm1);
begin
     Self.Time :='sdsd';
//  ShowMessage (Self.Time);
end;
end.


@!!ex   (2009-04-18 17:22:00) [7]

вызов мне покажите. что-то вы криво создаете.


Наверх

Титульная страница Поиск, карта сайта Написать письмо