Zitat von
omata:
Hier mal ein neuer Vorschlag...
[...]
Ich wollte dir eigentlich konkreter helfen, mit deinem Quellcode. Aber ich finde hier leider nirgends mal einen zusammenhängenden Quellcode von dir und dein Demo ist nur eine EXE. Vermutlich bin ich einfach nur blind.
Naja, egal. Ich vermute mal das dir das sowieso wieder nicht gefällt.
Wir drehen uns hier sowieso im Kreis. Du willst das nicht übergeben aber irgendwo must du das definieren.
Ob nun in einer externen Datei oder direkt beim initialisieren.
Gruss
Thorsten
Hab ich dir was getan, das bei jeder deiner Antworten mit sowas ankommst? Wieso gehst du davon aus das es mir nicht gefällt? Und glaubst du mir gefällt das irgendwie aus Prinzip nicht weils von dir ist oder was? Wenn mir was nicht gefällt, dann habe ich einen anständigen Grund dazu.
Also zu deinem Vorschlag: Bei deinem ursprünglichen Vorschlag ist das Problem, das ich ein Problem bekomme, wenn es mehr als nur eine TNVCLForm-Klasse gibt (Mit unterschiedlich benannten OnCreate Methoden).
Die Idee mit dem Konstruktor hatte ich auch schon aber, tut mir Leid, auch die gefällt mir irgendwie nicht so ganz
Abgesehn davon das die Forms ja durch Application.CreateForm erstellt werden und Application.CreateForm ruft ja erst den Konstruktor der Form auf. Von daher kann der "Benutzer" da auch nicht viel steuern, außer man übergibt dem Application.CreateForm diesen String. Aber mhh.. ich weiß nicht. Ich finde das irgendwie unschön.
Also ich wills nochmal betonen. Ich lehne hier keine Vorschläge aus Prinzip ab! Die bisherigen sind meiner Meinung nach einfach zu unbefriedigend.
Gruß
Neutral General
EDIT: Da kam kein roter kasten -.-
Zitat von
Apollonius:
Mir kommt gerade noch eine andere Idee: Eine Funktion schreiben, die für Form-Variablen Create-Handler registriert. Im Konstruktor wird dann geprüft, ob das Self das gleiche ist, was in einer der registrierten Variablen steht, wenn ja, dann wird der Handler aufgerufen. Das setzt aber voraus, das immer schön mit
Delphi-Quellcode:
FormVar := FormClass.NewInstance;
FormVar.Create;
gearbeitet wird, sonst ist die Variable noch nicht zugewiesen.
Ich werde mir deine Idee mal durchn Kopf gehn lassen