Forum: Algorithmen, Datenstrukturen und Klassendesign
by norwegen60,
11. Nov 2018
Hallo Stahli,
zuerst mal Danke für deine Unetrstützung.
Ich glaube ich weiß wo mein Denkfehler liegt. Ich hatte bei MessData1 als Parent weiterhin die Liste (FItems) eingetragen. Damit musste ich natürlich wieder durch diese Liste. Sobald ich aber sage MessData1.ParentObject := MessData1List mit MessDataList = TMessDataList =class(TBase) sollte es gehen.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by norwegen60,
9. Nov 2018
Auch dieses Konstrukt hat einen großen Nachteil. Was vorher so aussah
var
lBaseSample: TBaseSample;
begin
Result := false;
for lBaseSample in FSamplingList do
if (lBaseSample.StatusSample <> assFilled) and (lBaseSample.StatusSample <> assProcessed) then
exit;
Result := true;
end;
Forum: Algorithmen, Datenstrukturen und Klassendesign
by norwegen60,
9. Nov 2018
Jetzt wollte ich das mal ausprobieren und beim Durchspielen stellte ich fest, dass entweder du oder ich einen Gedankenfehler haben.
Problem: Wenn ich auf einem der Einträge MessData1 stehe muss ich ja wieder zuerst durch die Liste um zu wissen zu wem die Liste gehört. Jetzt könnte ich natürlich MessData1 als ParentObject TMessData1List zuordnen, aber wie schon gesagt, kann es auch sein dass ich...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by norwegen60,
6. Nov 2018
Kompilieren lässt es sich und das mit dem Cast ist bekannt. Meine Erfahrung ist nur dass sich die Probleme erst später zeigen. Drum meine Rückfrage ob es etwas gibt, was dagegen spricht.
Die Listen werden jetzt schon recht intensiv genutzt. Umgestellung ist vielleicht wirklich überschaubar. Ich scheue (noch) den Testaufwand.
Bei deinem Ansatz FParentObject: TBase bin ich nicht ganz sicher....
Forum: Algorithmen, Datenstrukturen und Klassendesign
by norwegen60,
6. Nov 2018
Hallo Stahli,
ja, das sieht gut aus. Bedeutet aber auch einiges an Umstellarbeit. Die würde ich gerne verschieben. Deshalb die Frage ob mein Ansatz funktioniert?TBaseList = class(TObjectList<TBase>)
privat
FParentObject: TObject;
public
property ParentObject: TObject read FParentObject write FParentObject;
end;
TMessData1List = class(TBaseList)
Forum: Algorithmen, Datenstrukturen und Klassendesign
by norwegen60,
6. Nov 2018
Mit denen habe ich mich noch nie abgegeben. Könntest du anzeigen, wie das geht. Meine Bedenken sind bei so was, dass es zuerst ganz einfach aussieht und man dann feststellt, dass man vieles beachten muss, was man noch nicht weiß. Ich bin ziemlich unter Zeitdruck
Forum: Algorithmen, Datenstrukturen und Klassendesign
by norwegen60,
6. Nov 2018
Hallo Stahli,
daran habe ich auch schon gedacht. Wie kann ich dann aber beim Hochblättern feststellen ob ich in TMessData1List oder TMessData2List bin. Typabfrage funktioniert dann ja nicht mehr. Oder funktioniert ein Konstrukt wie
TBaseList = class(TObjectList<TBase>)
privat
FParentObject: TObject;
public
property ParentObject: TObject read FParentObject write...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by norwegen60,
6. Nov 2018
Hallo zusammen,
ich suche eine Möglichkleit wie ich in einer Klassenstruktur auf ein beliebiges Parent-Object zugreifen kann.
Ich habe beispielhaft folgende Klassenstruktur
TBase = class
private
FNr: Integer;
FParentObject: TObject;