Форум: "Начинающим";
Текущий архив: 2014.10.05;
Скачать: [xml.tar.bz2];
Внизне видно свойства класса Найти похожие ветки
← →
coder123 (2013-10-25 12:43) [0]почему не видно свойств класса:
unit Unit2;
interface
type
TItem = class of TData;
TData = class
private
FID: Integer;
public
property ID: Integer read FID write FID;
end;
implementation
end.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,
Unit2;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
Item: TItem;
begin
Item. //<- как обратиться к ID
end;
end.
← →
RWolf © (2013-10-25 13:06) [1]Никак, в TItem нет такого свойства.
← →
DVM © (2013-10-25 13:22) [2]
> coder123 (25.10.13 12:43)
TItem это метакласс. Его экземпляр это - класс TData, но класс TData и экземпляр класса TData это разные вещи.
← →
[ВладОшин] © (2013-10-25 13:28) [3]
> в TItem нет такого свойства.
+1
Item должен быть TData
зато можно
var
Item: TData;
begin
Item := TItem.Create;
Item.ID
end;
← →
DVM © (2013-10-25 13:44) [4]
> coder123 (25.10.13 12:43)
Если исправить вот так:
TItem = class of TData;
TData = class
private
class var FID: Integer;
public
class property ID: Integer read FID write FID;
end;
то свойство ID будет видно, т.к. относится к классу TData, а не его экземпляру.
← →
Palladin © (2013-10-25 14:48) [5]
> TItem = class of TData;
Зачем ты использовал эту конструкцию?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2014.10.05;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.003 c