![]() |
Form ohne dfm / fmx - Datei erstellen
Liste der Anhänge anzeigen (Anzahl: 1)
Wie kann man eine Form ohne Formdatei (.dfm / .fmx) erstellen?
Wenn ich unter FMX
Delphi-Quellcode:
aufrufe, kann ich die Form dann zwar anzeigen, aber zur Laufzeit eingefügte Komponenten werden nicht angezeigt.
F_Help := TCommonCustomForm.Create(Application);
Das gleiche würde ich gerne auch für ein VCL-Formular machen. Anliegend demo. |
AW: Form ohne dfm / fmx - Datei erstellen
Schau Dir mal von Moderator Luckie die non-Vcl Sachen an, das kannst Du auch aus Vcl aufrufen um was auch immer zu erstellen.
Hilft Dir das oder redest Du von einer Vcl Form die man dynamisch erzeugt und mit dynamisch erzeugten Komponenten bestückt? Machbar ist beides. Meine erste Idee für Vcl Blanko Form wäre tatsächlich eine Blanko-Form ins Projekt einbinden, von mir aus als Resource und die in so viele neue Kopien ableiten wie Du benötigst, was auf der Blanko-Form drinnen ist musst Du dann halt zur Laufzeit bestimmen. Manche Komponenten benötigen gewisse Grundwerte um überhaupt zu funktionieren, da muss man sich halt Stück für Stück ranpirschen bis man es perfekt hat, Control für Control, kann dauern aber wenn man die Grundprinzipien einmal drinnen halt klappt es recht gut (das gilt für beides Vcl und auch non-Vcl). Ps: Nachteil von sowas, Du musst jedes kleine Detail selber einpflegen, vor allem die Ereignisse mit einander verknüpfen .... |
AW: Form ohne dfm / fmx - Datei erstellen
Zitat:
![]() |
AW: Form ohne dfm / fmx - Datei erstellen
Es ist ganz einfach, bei Allem, was ein TForm-Nachfahre ist, wird immer versucht eine gleichnamige DFM-Ressource zu laden.
Aber man hätte hier auch auf eine Idee kommen können: Nachsehen was es noch für Konstruktoren gibt. :roll: ![]() Gut, es wäre auch gegangen, wenn du einfach eine leere Ressource genommen hättest. :freak:
Delphi-Quellcode:
Oder nicht TForm, sondern TCustomForm als Vorfahre verwenden. (aber ich glaube die Prüfung+DFMLaden war als
object CommonCustomForm: TCommonCustomForm
end
Delphi-Quellcode:
im TCustomForm und nicht im TForm :stupid:)
ClassType <> TForm
|
AW: Form ohne dfm / fmx - Datei erstellen
OK, Danke.
Mit
Delphi-Quellcode:
funktioniert es, man benötigt keine DFM /FMX Datei.
TForm.CreateNew(Application);
Cool, so kann ich nun eine Unit verwenden, die auf allen Delphi-Versionen ab Delphi 5 bis heute sowohl unter VCL als auch unter FMX funktioniert, ohne dass ich - wie sonst mit dem Formular - Probleme mit irgendwelchen unterschiedlichen / fehlenden Properties bekomme. Das kann man natürlich nur mit "Forms" mit wenigen Komponenten und Events machen, sonst ist es schon unverhältnismäßig aufwendig, das alles zu Fuß zu programmieren, denn man muss schon einige IFDEFS verwenden... |
AW: Form ohne dfm / fmx - Datei erstellen
Zitat:
![]() Es gibt übrigens noch "CreatedParented" - damit kann man ein Formular an ein anderes Fensterhandle anbinden. Das fand ich öfters sehr praktisch. Viele Grüsse, Julian |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz