AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Mehrmals die gleiche Form erstellen

Offene Frage von "Florian H"
Ein Thema von Florian H · begonnen am 19. Sep 2004 · letzter Beitrag vom 27. Sep 2004
Antwort Antwort
Seite 1 von 2  1 2   
Florian H

Registriert seit: 30. Mär 2003
Ort: Mühlacker
1.043 Beiträge
 
Delphi 6 Professional
 
#1

Mehrmals die gleiche Form erstellen

  Alt 19. Sep 2004, 10:29
Hi,

ich habe ein Programm, das mehrmals das selbe Fenster öffnen soll nur halt anderer Inhalt.
Also wie ICQ , da klicke ich einen Eintrag in der ContactList an und es öffnet sich ein neues Gesprächsfenster... das kann ich für jeden Eintrag so machen.
Genau sowas will ich auch. Mir gehts dabei (erstmal) um den Lösungsansatz...

Geht das vielleicht per MDI, dass ich da die Fenster irgendwie aus dem MDI-Container vielleicht rausbekomme?
Oder muss ich umständlich ein dynamisches Array of TFormX machen und da dann die Forms erzeugen und anzeigen? Das wäre umständlich wenn man eines wieder schließt und ich im Array das löschen müsste und den rest dann wieder veeschieben etc... nicht so praktisch/schnell/bugsicher ...
Oder kann ich sowas machen:
Delphi-Quellcode:
var
  xyz : TformX;
begin
  xyz := tformX.create(...);
...
und das dann einfach mehrmals aufrufen? Geht ja auch, aber irgendwie erscheint mir das bissl zweifelhaft weil ich da ja nicht mehr freigebe und so....?!!

Oder gibts ne ganz andere, bessere Lösung?

Grüße
Flo
Florian Heft
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Mehrmals die gleiche Form erstellen

  Alt 19. Sep 2004, 10:40
Zitat von Florian H:
... weil ich da ja nicht mehr freigebe und so..
Hai Flo,

freigeben kannst Du denn Speicher auch im .OnClose eines Fensters. Einfach:
Delphi-Quellcode:
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := caFree;
end;
Schaue Dir mal das Beispiel im Anhang an.
Angehängte Dateien
Dateityp: zip fenster.zip (4,0 KB, 20x aufgerufen)
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Mehrmals die gleiche Form erstellen

  Alt 19. Sep 2004, 10:41
wer sagt das du die Forms in einem Array speichern musst? Du kannst auch einfach im onClose des Forms dafür sorgen das es freigegeben wird. Oder du nimmst eine TList zur Verwaltung dann brauchst du dich nicht um die Verschiebung kümmern wenn ein Fenster gelöscht wird (einfach TListObject.Delete(Index) und fertig ist das ganze (natürlich noch das Destroy auslösen))
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Florian H

Registriert seit: 30. Mär 2003
Ort: Mühlacker
1.043 Beiträge
 
Delphi 6 Professional
 
#4

Re: Mehrmals die gleiche Form erstellen

  Alt 19. Sep 2004, 10:41
oh, danke
Dann mach ich das so, is ja richtig easy
Florian Heft
  Mit Zitat antworten Zitat
Florian H

Registriert seit: 30. Mär 2003
Ort: Mühlacker
1.043 Beiträge
 
Delphi 6 Professional
 
#5

Re: Mehrmals die gleiche Form erstellen

  Alt 19. Sep 2004, 11:15
ah eine Frage noch: wie kann ich denn dann von einer anderen Form dadrauf zugreifen? geht das überhaupt?
Florian Heft
  Mit Zitat antworten Zitat
Benutzerbild von phXql
phXql

Registriert seit: 11. Mär 2004
Ort: Mühldorf
824 Beiträge
 
#6

Re: Mehrmals die gleiche Form erstellen

  Alt 19. Sep 2004, 11:40
FindComponent
"Dunkel die andere Seite ist"
"Yoda! Halts Maul und iss deinen Toast!"
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Mehrmals die gleiche Form erstellen

  Alt 19. Sep 2004, 11:54
FindComponent ist so ziemlich die unperfomanste Variante. Speicher einfach beim erstelle des Forms das ganze in einer TList und dann kannst du über das Item der TList auf das Fenster zugreifen
(TYourFormClass(Liste.Item[Index]).Methode)
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Florian H

Registriert seit: 30. Mär 2003
Ort: Mühlacker
1.043 Beiträge
 
Delphi 6 Professional
 
#8

Re: Mehrmals die gleiche Form erstellen

  Alt 19. Sep 2004, 11:57
hm stimmt so gehts dann auch

Und eine letzte Frage (da lohnt sich nunmal ein neuer Thread net...):
Die Forms gehen bei mir immer in den Hintergrund, obwohl ich fsStayOnTop anhabe, woran kann das liegen?
Florian Heft
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Mehrmals die gleiche Form erstellen

  Alt 19. Sep 2004, 12:01
eventuell weil das Mainform auch "fsstayonTop" ist? und diese somit hinter diesem verschwinden?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Florian H

Registriert seit: 30. Mär 2003
Ort: Mühlacker
1.043 Beiträge
 
Delphi 6 Professional
 
#10

Re: Mehrmals die gleiche Form erstellen

  Alt 19. Sep 2004, 12:02
Ne, beide Forms verschwinden hinter anderen Fenstern, wenn die den Focus bekommen. und die anderen Fenster sind keine StayOnTops.

edit: wenn ich aber dem MainForm fsStayontop gebe, dann gehts... will ich aber eigentlich nicht weil das verschwinden soll
Florian Heft
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 12:32 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