Hi Christian!
tja, diese Zur-Laufzeit-Erzeugung von Komponenten hat’s in sich, wa? Wirst Dich wohl noch mit Schrecken an den damaligen Thread zu diesem Thema erinnern…
Na, warten wir’s ab, wie schlimm dieser wird

Aber let’s komm zur Sache.
Wenn ich eine Komponente dynamisch
erzeugen will, verwende ich ja den
folgenden Code:
(SCHNIPP)
Genau, und nie das „parent := formXXX“ vergessen.
Somit kann ich ja z.B. ein Memo zur
Laufzeit erzeugen. Ich programmiere nun
aber ein Projekt, dass OHNE eine Form
auskommen muss.
OK, möglich ist das auf jeden Fall, weil es durchaus Anwendungen ohne jegliche textliche oder grafische Ausgabe gibt. Trotzdem haben die aber schon einen gewissen Seltenheitswert, würde ich sagen.
Wenn ich denselben Code
verwende, gibt es nen Error bei parent
(ist ja logisch - kein form vorhanden)…
Logischer geht’s gar nicht mehr.
Wie kann ich bei einem „formlosen“
Projekt Komponenten dynamisch erzeugen ?
Du mußt unterscheiden zwischen visuellen, und nicht-visuellen Komponenten.
Wenn Du ein formularloses Projekt hast, sind alle visuellen Komponenten automatisch tabu, und damit stellt sich das Problem mit der „parent := …“-Anweisung nicht. Die „TMemo“-Komponente ist visuell, eine TStrings bzw. TStringList-Komponente nicht (wie auch z. B. TTimer). Ins Leben gerufen werden ALLE Komponenten IMMER über „Create“.
*HILFE* Was mache ich falsch ?
Du verwendest eine TMemo-Komponente, obwohl Du deren Fähigkeiten der visuellen Darstellung ihres Inhalts gar nicht brauchst (wegen Formularlosigkeit deines Projekts nicht brauchen kannst). Wenn Du nur die Fähigkeiten einer Komponente benötigst, die diese ohnehin von einer anderen erbt, dann solltest Du gleich die andere Komponente nehmen. Im vorliegenden Fall dürfte das mit ziemlicher Sicherheit eine StringList sein.
Mit freundlichem Gruß
Martin