Текущий архив: 2004.11.14;
Скачать: CL | DM;
ВнизПроблемма с собственным классом Найти похожие ветки
← →
Piero (2004-10-31 19:12) [0]TInscription = record // Запись
f1,f2,f3,f4,f5,f6,f7 : string [50];
end;
TUSObj = class(TObject)
private
Inscriptions : array of TInscription; // Массив записей
function GetInscription(NumInscr: byte): TInscription;
procedure SetInscription(NumInscr: byte; Value: TInscription);
....
public
....
property Inscript[NumIscr : byte] : TInscription read GetInscription write SetInscription;
end;
// Чтение из масива
function TUSObj.GetInscription(NumInscr: byte): TInscription;
begin
Result:=Inscriptions[NumInscr];
end;
// Запись в массив
procedure TUSObj.SetInscription(NumInscr: byte; Value: TInscription);
begin
If NumInscr > length(Inscriptions) then Setlength(Inscriptions,NumInscr);
Inscriptions[NumInscr]:=Value;
end;
// В программе пишу
var o1 : TUsObj;
begin
...
o1.inscript[1].f1:="jjj";
Программа не компилируется, на последнюю сточку выводится сообщение:
"Left side cannot be assigned to",
кроме этой ошибок нет.
← →
Юрий Зотов © (2004-10-31 19:32) [1]type
TInscription = record
f1, f2, f3, f4, f5, f6, f7: string [50];
end;
TInscriptionArray = array of TInscription;
TUSObj = class(TObject)
private
FInscriptions: TInscriptionArray;
...
← →
Anatoly Podgoretsky © (2004-10-31 19:39) [2]А нет у тебя такого свойства
← →
GuAV © (2004-10-31 19:58) [3]Нельзя так. Свойство сложного типа может быть записано только полностью. Присваивай запись целиком или юзай класс заместо записи.
Страницы: 1 вся ветка
Текущий архив: 2004.11.14;
Скачать: CL | DM;
Память: 0.44 MB
Время: 0.037 c