TStringList & Assign
-
Hallo, Guten Tag
Lasse mir aus einer DLL eine TStringList* zurückgeben.
Wenn ich mit
for(i=0;i<TStringList->Count;i++) Memo1->Lines->Add(TStringList->Strings[i]);eine Zuweisung beispielsweise in ein Memofeld eines Formulares mache, funktioniert das hervorragend
Nicht funktioniert jedoch
Memo1->Lines->Assign(TStringList);Hier tritt eine EConvertError-Exception auf
In der Hilfe habe ich folgendes gefunden:
Wenn keine überschriebene Methode die Zuweisung von Eigenschaften aus Source behandeln kann, ruft die in TPersistent implementierte Methode die Methode AssignTo des Quellobjekts auf. Dadurch kann das Quellobjekt die Zuweisung bearbeiten. Wenn das Source-Objekt NULL ist, löst TPersistent::Assign eine EConvertError-Exception aus.
Jedoch ist TStringList ja nicht NULL, denn die einzelne Zuweisung funktioniert ja.
Und ein Assign von TStringList nach TStringList sollte doch gehen?
Wie kann ich die Exception bereinigen
-
In Deinem Beispiel hast Du nicht wirklich TStringList wo Du TStringList stehen hast stehen oder ?
Wenn Du z.B. so etwas stehen hast:
TStringList *sl = new TStringList(); sl->Add("HALLO"); Memo1->Lines->Assign(sl);dann musst DU auch sl nehmen und nicht TStringList
-
ist schon klar, nein, habe ich nicht wirklich stehen