![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Нет записи в член класса (вопрос по классическому ООП) [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]вызов мне покажите. что-то вы криво создаете.