AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Instanz eines Forms erstellen

Offene Frage von "vlees91"
Ein Thema von vlees91 · begonnen am 25. Jun 2006 · letzter Beitrag vom 26. Jun 2006
Antwort Antwort
Benutzerbild von vlees91
vlees91

Registriert seit: 19. Apr 2004
843 Beiträge
 
Turbo Delphi für Win32
 
#1

Instanz eines Forms erstellen

  Alt 25. Jun 2006, 16:45
Hallo
Ist es möglich eine Kopie eines betehenden Forms (TForm2, TForm2, etc...) zu erstellen (in ein Array wie MyForms: array of TForm?

Ich habe bereits versucht in eine Array mit jedem weiteren Index TForm2.Create(self); aufzurufen. Da wird allerdings nicht ein neues Form erstellt, sondern einfach das Form2 neu angezeigt.
Mit einem Array aus Pointer gehts auch nicht, denn es wird im Array nur nil gespeichert als Pointer.
vlees91
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#2

Re: Instanz eines Forms erstellen

  Alt 25. Jun 2006, 16:56
Hi,
es ist natürlich möglich beliebig viele Instanzen eines Formulars zu erstellen, aber die Frage ist, ob es nötig ist. Jedes Form verbraucht nun einmal ein paar Ressourcen und auch in der heutigen und jeder zukünftigen Zeit, sollte man die nicht sinnlos verschwenden.
Mittels TForm.Create erzeugst du eine neue Instanz, die du natürlich in einem Array ablegen kannst. Mittels Show kannst du dann auch verschiedene Instanzen anzeigen, musst natürlich dann die entsprechende Instanz verwenden (also z.B. deineForms[0].Show, deineForms[1].Show, ...)

Wie gesagt, es sollte nur mit einem Sinnvollen Grund auch wirklich geschehen. Vielleicht versuchst du ja nur ein MDI zu bauen, dann such einfach mal danach (im Forum).

Gruß Der Unwissende
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Instanz eines Forms erstellen

  Alt 25. Jun 2006, 16:57
Zitat:
Ich habe bereits versucht in eine Array mit jedem weiteren Index TForm2.Create(self); aufzurufen. Da wird allerdings nicht ein neues Form erstellt, sondern einfach das Form2 neu angezeigt.
Dadurch wird definitiv ein neues Formular-Objekt erzeugt. Was referenziert self?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von vlees91
vlees91

Registriert seit: 19. Apr 2004
843 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Instanz eines Forms erstellen

  Alt 25. Jun 2006, 17:05
Es soll sowas wie eine Art "Desktop" sein, der aber ein Programm ist. Der Benutzer kann dann soviele "Programme" öffnen, wie er will, und wäre ja selber schuld, wenns irgendwann gaaaaaanz langsam wird (wie bei Windows ja auch).
vlees91
  Mit Zitat antworten Zitat
Benutzerbild von vlees91
vlees91

Registriert seit: 19. Apr 2004
843 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Instanz eines Forms erstellen

  Alt 25. Jun 2006, 17:22
Zitat von Der_Unwissende:
Wie gesagt, es sollte nur mit einem Sinnvollen Grund auch wirklich geschehen. Vielleicht versuchst du ja nur ein MDI zu bauen, dann such einfach mal danach (im Forum).
Damit habe ich es am ANfang versucht, aber da funktioniert Drag and Drop nicht vernünftig (Das onDrag event wird ausgelöst, es passiert aber nichts).
vlees91
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#6

Re: Instanz eines Forms erstellen

  Alt 25. Jun 2006, 18:59
Zitat von vlees91:
Damit habe ich es am ANfang versucht, aber da funktioniert Drag and Drop nicht vernünftig (Das onDrag event wird ausgelöst, es passiert aber nichts).
Ja, aber das wirst du kaum mit mehreren Forms beheben können. Denke es ist eher ein Fehler in deiner Umsetzung als an der Komponente. Ich weiß ja nicht was du dort machst, aber auch zu Drag&Drop findest du eigentlich eine Menge Hilfe mit der Suche.
  Mit Zitat antworten Zitat
Benutzerbild von vlees91
vlees91

Registriert seit: 19. Apr 2004
843 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Instanz eines Forms erstellen

  Alt 26. Jun 2006, 16:50
das drag and drop hat damit nichts zu tun. nur das drag and drop brauche ich auch und in der kombination gehts bis jetzt nicht
vlees91
  Mit Zitat antworten Zitat
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 22:35 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