0
У меня есть старая программка с переменной:Как работать с массивом типа (TList, класс) с Delphi7
Modul : array[1..4] of array[0..5] of array[1..3] of TModul;
Я могу хранить модули в списке:
procedure Test;
var
List: TList;
PModul: Pointer;
begin
PModul := Addr(Modul);
List:= TList.Create;
List.Add(PModul);
//...
List.Free;
end;
но как я могу прочитать элемент из списка
? := Modul[x,y,z].MeasValue.Value[i];
из списка?
И как я могу передать Modul в функции/процедуры, как это:
TTest=class(TObject)
private
FModul: TModul;
function GetModul: TModul;
procedure SetModul(const Value: TModul); // it isnt't work
public
property Modul: TModul read GetModul write SetModul;
end;
так, что я могу работать с моим Modul и TObjectList?
Заранее спасибо.
Этот код, вероятно, не будет работать, так как 'Addr (Modul)' относится к тому же каждый раз, когда, например. Вероятно, вам нужно использовать динамическое распределение. Или динамические массивы. Если вы хотите ввести многомерное индексирование в список, вы должны перенести это на себя. Не зная, почему вы хотите изменить код, который, по-видимому, работает, как мы можем посоветовать вам наилучший курс? –
Спасибо за ваш ответ. Я должен сохранить несколько измерений, чтобы работать с ними позже, например: удалить один, показать некоторые в stringgrid, сохранить. Я подумал в этом случае о списке, поэтому мой подход. Один modul = один \t Измерение – genakust
Возможно, вы хотите использовать динамический массив, но это очень сложно сказать. Мы даже не знаем, что такое «TModul». Я не думаю, что кто-нибудь может дать вам хороший совет без каких-либо реальных подробностей. –