AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Form aus String erstellen

Ein Thema von HolgerCW · begonnen am 25. Sep 2012 · letzter Beitrag vom 28. Sep 2012
Antwort Antwort
Seite 3 von 4     123 4      
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#21

AW: Form aus String erstellen

  Alt 25. Sep 2012, 13:48
Das funktioniert nicht nur mit globalen Variablen, aber es muss halt entsprechend programmiert sein, damit es ohne funktioniert.

Globale Variablen sind zwar ein sehr einfacher aber auch ein sehr anfälliger Weg. Darum wird dieser idR auch nicht beschritten - öh sollte

Vielleicht kannst du ja mal schildern, was du genau erreichen willst, dann kann man da schon eher etwas zu sagen, wie man die Dynamik ohne globale Falle realisiert
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#22

AW: Form aus String erstellen

  Alt 25. Sep 2012, 14:21
Ich kann ja nicht einfach aus FM_Material -> MeineForm machen etc.
Warum?
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#23

AW: Form aus String erstellen

  Alt 26. Sep 2012, 06:58
Hier nochmal was ich eigentlich will:

Ich habe eine TreeView-Baumstruktur.

Wenn der User nun auf node1 klickt soll die FormAB erstellt werden.
Klickt der User auf node2 soll die FormCD erstellt werden.
Ich möchte aber nicht in dem Ereignis des TreeViews fest einprogrammieren, welche Form erstellt werden soll, sondern hinterlege die Information in einer Datenbank.

Soll heißen. Der User klickt auf node1, es wird in der Datenbank nachgeschaut welche Form geöffnet werden soll. (Dort steht der Name der Form) und dementsprechend wird dann die Form erstellt.

Die Formen habe ich aber alle schon in Delphi designed.

Nun soll die Form mit Hilfe des Formnamens erstellt werden.

Nur sind auch die Programmierungen, welche auf die FormAB etc. zugreifen schon erstellt. Heisst es steht überall FormAB.Label1.Caption := 'Text'

Wenn ich die FormAB, aber wie in diesem Thema erstelle, kann ich nicht mehr mit FormAB.Label1.Caption die Form steuern.

Was muss ich abändern, damit es klappen kann ?

Gruss

Holger
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#24

AW: Form aus String erstellen

  Alt 26. Sep 2012, 07:46
Als Schmuddelnötlösung könntest Du in den Construktoren Deiner Forms etwas in der Art einbauen.

Delphi-Quellcode:
Constructor TFormA.Create(AOwner:TComponent); // override
begin
  inherited;
  FormA := Self;
end;
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#25

AW: Form aus String erstellen

  Alt 26. Sep 2012, 08:35
Oder die benannten Instanzen eliminieren und Dir eine Methode schreiben, die je nach Formklasse die Einstellungen vornimmt.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#26

AW: Form aus String erstellen

  Alt 26. Sep 2012, 08:54
Schmuddelnötlösung funktioniert.

Jetzte würde ich gerne hier noch die Registrierung so hinbekommen, das ich dies nicht fest vorbelegen muss ? Geht das ? Hier der Code:

Code:
var
 Form_Name: String;
 MeineForm: TForm;
 MeineForm_Klasse: TComponentClass;
begin

...

Form_Name := 'FM_Material' //Beispiel

RegisterClass(TFM_Material); //Das hier würde ich gerne variabel gestalten
MeineForm_Klasse := TComponentClass(FindClass('T' + Form_Name));
MeineForm := TForm(FindComponent(Form_Name));
If MeineForm = nil then Application.CreateForm(MeineForm_Klasse, MeineForm);
MeineForm.Show;
Gruss

Holger
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#27

AW: Form aus String erstellen

  Alt 26. Sep 2012, 08:59
Edit: Unfug gelöscht, hab die Create-Situation nicht beachtet.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#28

AW: Form aus String erstellen

  Alt 26. Sep 2012, 09:19
Jemand noch eine Idee ?
  Mit Zitat antworten Zitat
vagtler

Registriert seit: 9. Jul 2010
Ort: Köln
667 Beiträge
 
Delphi 2010 Professional
 
#29

AW: Form aus String erstellen

  Alt 26. Sep 2012, 09:36
[...] Nur sind auch die Programmierungen, welche auf die FormAB etc. zugreifen schon erstellt. Heisst es steht überall FormAB.Label1.Caption := 'Text' [...]
Und hier zeigt sich wieder einmal ganz besonders eindrucksvoll, was passiert, wenn man zuerst programmiert und dann nachdenkt.

Ein Haus wird auch erst geplant und dann gebaut...
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#30

AW: Form aus String erstellen

  Alt 26. Sep 2012, 13:20
Das hilft mir jetz auch nicht weiter.

Es klappt schon, nur mit der Registrierung gefällt mir noch nicht. Wüsste auch nicht was ich ohne vorherige Programmierung da hätte besser machen können bei der Registrierung.

Weitere Ideen willkommen, zwecks der variablen Registrierung ...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz