Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Form mit Komponenten wärend laufzeit erzeugen. (https://www.delphipraxis.net/109109-form-mit-komponenten-waerend-laufzeit-erzeugen.html)

dazar_t 24. Feb 2008 17:50


Form mit Komponenten wärend laufzeit erzeugen.
 
hallo

Ich schreibe ein chat programm indem es der user möglich ist beim flüstern ein seperates chat fenster zu öffnen.

Also eine form ist ja kein problem zu erzeugen
Delphi-Quellcode:
var
Förm: Tform;
begin
Förm := Tform.Create(Application);
with Förm do
 begin
 Caption:= 'Flüster Fentser'
[..] //usw
 end;
Förm.Show;
end;
Nur müssten ja auch Koponenten (Lables, memos usw) auf dem Form zu sehen sein und daran scheitere ich ich habe es so versucht
Delphi-Quellcode:
var
Förm: Tform;
Label: TLabel;
begin
Förm := Tform.Create(Application);
with Förm do
 begin
 Caption:= 'Flüster Fentser'
[..] //usw
 end;
Label := TLabel.Create(Förm);
Label.Caption:='Hallo';
Förm.Show;
Label.Show
end;
Doch dies funktioniere leider nicht.

DeddyH 24. Feb 2008 17:53

Re: Form mit Komponenten wärend laufzeit erzeugen.
 
Du musst noch den Parent setzen.
Delphi-Quellcode:
Label.Parent := Förm;

dazar_t 24. Feb 2008 18:00

Re: Form mit Komponenten wärend laufzeit erzeugen.
 
Dankeschön das wars ^^

Doch ein frage bleibt wie setzte ich nun eine preozedur dort rein (OnButton1.Click z.B.)

SirThornberry 24. Feb 2008 18:02

Re: Form mit Komponenten wärend laufzeit erzeugen.
 
wobei es leichter ist wenn du das Form einfach wie normal designst aber nicht automatisch erzeugen lässt.

dazar_t 24. Feb 2008 18:03

Re: Form mit Komponenten wärend laufzeit erzeugen.
 
Aber dann wäre das Problem das es ja 10000e solcher fenster im verlauf geben könnte wenn man z.B mit 1000 leuten Flüstert

Aber nur eins parat steht.

DeddyH 24. Feb 2008 18:05

Re: Form mit Komponenten wärend laufzeit erzeugen.
 
Du brauchst eine aufrufkompatible Methode. Diese kannst Du dann zuweisen.

dazar_t 24. Feb 2008 18:06

Re: Form mit Komponenten wärend laufzeit erzeugen.
 
Zitat:

Zitat von DeddyH
Du brauchst eine aufrufkompatible Methode. Diese kannst Du dann zuweisen.

Ohh dies verstehe ich jetzt leider nicht :shock:

omata 24. Feb 2008 18:08

Re: Form mit Komponenten wärend laufzeit erzeugen.
 
Zitat:

Zitat von SirThornberry
wobei es leichter ist wenn du das Form einfach wie normal designst aber nicht automatisch erzeugen lässt.

und da du es nicht automatisch erzeugst kannst du dir davon soviele Instanzen erzeugen wie du möchtest.

Gruss
Thorsten

DeddyH 24. Feb 2008 18:15

Re: Form mit Komponenten wärend laufzeit erzeugen.
 
Auch wenn ich den anderen beiden Recht gebe, hier noch mal etwas ausführlicher, was ich meinte:
Delphi-Quellcode:
type
  TFormBla = class(TForm)
  ...
  procedure TuWas(Sender: TObject);
  ...
end;

...

procedure TFormBla.TuWas(Sender: TObject);
begin
  if (Sender is TControl) then
    ShowMessage(TControl(Sender).Name);
end;

...

MeinButton.OnClick := TuWas;

dazar_t 24. Feb 2008 18:20

Re: Form mit Komponenten wärend laufzeit erzeugen.
 
Achsooo nun habe ich beide versionen verstanden danke an alle :D


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:15 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