AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Formular mit Komponenten in laufender Anwendung erstellen.
Thema durchsuchen
Ansicht
Themen-Optionen

Formular mit Komponenten in laufender Anwendung erstellen.

Ein Thema von EDatabaseError · begonnen am 31. Mai 2006 · letzter Beitrag vom 1. Jun 2006
 
oldmax

Registriert seit: 27. Apr 2006
Ort: Gieboldehausen
167 Beiträge
 
#18

Re: Formular mit Komponenten in laufender Anwendung erstelle

  Alt 1. Jun 2006, 16:56
Hi

Nun, ich versteh, das du verzweifelst...

Also, versuch dich mal vom Array zu lösen

Type
....
TMyForm = Class(TForm)
MyButton : TButton;
MyList : TStringlist;
MyEdit : TEdit;
MyxObject: TxObject;
//Was heissen soll, alle deine Elemente, die du in der Form brauchst, definierst du in Variablen
// und nun die benötigten Prozeduren und Funktionen
Procedure MyProc(....);
Function MyFunc(....):MyVar;
//und was du sonst noch brauchst.....

end;

In der Variablendeklaration setzt du deine Variable für dein Object

var
......
MyForm : TMyForm; // oder sonstige abgeleitete Objecte...
.....
MyStringList : TStringList; // manchmal nützlich, wenn man auf seine Objecte zurückgreifen möchte ...
// weil über
MyStringList.AddObject(xObject.Name,xObject); //das Object gespeichert wird
//und dies zum Auffinden
t:=MyListe.IndexOf(ObjName); // t ist eine Integervariable...
if MyListe.Objects[ t ] is TMyObject then
begin
(MyListe.Objects[ t ] as TMyObject).TeilObject.OnClick:=(MyListe.Objects[ t ] as TMyObject).TeilObject_Click;
....

//in diesem Fall war TMyObject ein TPanel mit Checkboxen, hier als Teilobject benannt....
// die OnClick-Methode muß zur Entwurfszeit geschrieben, zur Laufzeit den erzeugten Objecten zugewiesen werden
end;

So, nun zu deinen Form-Objecten

Wenn du immer nur eines erzeugst, so brauchst du keine Liste,folgende Anweisung erledigt das und erzeugt dir ein Formular, welches du aber erst wieder schleißen mußt, bevor ein neues erzeugt werden kann.
Application.CreateForm(TMyForm, MyForm);
MyForm.Visible:=False;
MyForm.ShowModal;
MyForm.Free;


ansonsten probier mal
Application.CreateForm(TMyForm, MyForm);
MyForm.Name:='MyForm'+intToStr(Zaehler);
MyStringList.AddObject(MyForm.Name,MyForm);

vergiss aber nicht, den Eintrag zu löschen, wenn du das Object schließt.....

Viel Spass und tob dich erst mal aus

Gruß oldmax
Noch ist mein Rechner mir zu Diensten.... ansonsten habe ich die Macht ihn zu vernichten !
  Mit Zitat antworten Zitat
 


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 14:45 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