Tachen Forum.
Ich habe nun schon mehrere Versuche unternommen, TStrings zu tauschen.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| procedure TForm1.ChangeStrings (pStrings1,pStrings2 :TStrings); var CB :TStrings; i :LongWord; begin CB :=TStrings.Create; for i :=0 to (pStrings1.Count-1) do CB.Add(pStrings1.Strings[i]); pStrings1.Clear; for i :=0 to (pStrings2.Count-1) do pStrings1.Add(pStrings2.Strings[i]); pStrings2.Clear; for i :=0 to (CB.Count-1) do pStrings2.Add(CB.Strings[i]); CB.Free; end;
procedure TForm1.Button1Click (Sender :TObject); begin Self.ChangeStrings(Self.Memo1.Lines,Self.Memo2.Lines); end; |
Mein Problem ist, dass bei einer Zuweisung ein Abstrakter Fehler ausgelöst wird. Jetzt kam mir inzwischen der Gedanke, das TStrings in der Delphi-OH als Basisklasse, also abstrakte Klasse, beschrieben wird. Ich weiß, das eine Basisklasse eigentlich nicht instanziert werden sollte.
Ich konnte mein Problem mit einer StringList lösen, aber mich würde nun doch interessieren, wie ich die Strings des Parameters pStrings1 in mein TStrings-Objekt CB einlesen kann. Schließlich verwenden viele Delphi-Komponenten Instanzen von TStrings.
Ich danke Euch ...