Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Formular beliebig oft zur Laufzeit erstellen (https://www.delphipraxis.net/54999-formular-beliebig-oft-zur-laufzeit-erstellen.html)

Sko 15. Okt 2005 14:59

Re: Formular beliebig oft zur Laufzeit erstellen
 
Zitat:

Zitat von lizardking
... daher meine Frage, ob ich falsch liege :

Delphi-Quellcode:
Form2.Create(Form1);
Das ist meiner Meinung nach der allererste Punkt, wo es schon hakt. Muesste doch lauten :

Delphi-Quellcode:
Form2 := TForm2.Create(Form1);

das aufrufen funktioniert schonmal so wie es Union geschrieben hat:
Zitat:

Zitat von Union
Du kannst das auch so machen (wenn Du keine weitere Verwaltung brauchst):

Delphi-Quellcode:
procedure TForm1.BNachrichtClick(Sender: TObject);
begin
  With TForm2.Create(Self) do
  begin
    Name.Caption := Kliste.Selected.Caption;
    Nr.Caption  := Kliste.Selected.SubItems[0];
    Show;
  end;
end;

Jetzt arbeite ich an dem Problem das Jarmen_Kell angesprochen hat:

Zitat:

Zitat von Jarmen_Kell
Da gesagt wurde, dass es für ein Chatprogramm ist, kann man wohl davon ausgehen, dass das ganze später noch verwendet werden muss :wink:

Zitat:

Zitat von lizardking
...Aber beim naechsten Mal steht man (in diesem Falle der Threadstarter) wieder da, da die eigentlichen Grundlagen noch nicht verstanden sind.

stimmt, ich programmiere erst seit etwa 2 Monaten und lerne durch ausprobieren. Und ich habe, zugegeben, noch nie was von pointern gehört.
Und jetzt, nach diesem Denkanstoß mit mit den Pointern mache ich genau das, was dahead geschrieben hat:

Zitat:

Zitat von dahead
...wenn man sowas also programmieren will, muss man logischerweise auch diese grundlagen lernen.
...
aber so wie es aussieht meldet sich der threadstarter nicht mehr, bzw. ist bereits glücklich.

deshalb hab ich mich auch erstmal nicht mehr gemeldet, ich bin grad dabei was über Pointer zu lernen und das nachzuvollziehen, was Jarmen_Kell geschrieben hat.

Sko 17. Okt 2005 10:45

Re: Formular beliebig oft zur Laufzeit erstellen
 
@ Jarmen_Kell:

Bei FormListe.Add(ChatPointer); bekomme ich immer eine Access Violation Fehlermeldung, was ist denn daran falsch :?:

Jarmen_Kell 17. Okt 2005 11:26

Re: Formular beliebig oft zur Laufzeit erstellen
 
Oh ja, das habe ich oben nicht erwähnt: :roll:

Dies liegt daran, dass du auf etwas zugreifst, was es eigentlich noch nicht gibt.
Daher musst du die Variable zuersteinmal bereitstellen.

Dies geht wie bei allen anderen (TBitmap, TStringList etc)
mit einem einfachen

Variablenname:=TTyp.Create;

Also in diesem Fall:

FormList:=TList.Create;

Wo du das einfügst hängt davon ab, wann du dein 1. Chatfenster erstellst.
Es muss auf jeden Fall vor dem 1. Gebrauch bereitstehen.
Wenn das erst geschieht, nachdem dein Hauptfenster fertig ist (wird ja wohl idR so sein), kannst du es in das FormCreate deines Hauptfenster schreiben.

Delphi-Quellcode:
procedure Tmainform.FormCreate(Sender: TObject);
begin
  FormListe:=TList.Create;
end;
Jetzt dürfte die Meldung nicht mehr kommen.

Sko 17. Okt 2005 11:32

Re: Formular beliebig oft zur Laufzeit erstellen
 
Achso, ok vielen Dank :thumb: jetz gehts


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:45 Uhr.
Seite 2 von 2     12   

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