AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

zwischen Forms wechseln

Ein Thema von Hansa · begonnen am 11. Aug 2010 · letzter Beitrag vom 16. Aug 2010
Antwort Antwort
mkinzler
(Moderator)

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

AW: zwischen Forms wechseln

  Alt 14. Aug 2010, 07:47
Man könnte auch die Show-Methode entsprechend Überladen
Markus Kinzler
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#2

AW: zwischen Forms wechseln

  Alt 15. Aug 2010, 17:46
Man braucht da keine Properties. Ich war aber wohl zu sparsam. Merkt man sich die komplette aufrufende Form und nicht nur den Namen, so ungefähr :

frm1.AufrufForm := self; dann läuft alles wie gewünscht.

SetFocus ist übrigens auch mit Vorsicht zu geniessen. So gehts allerdings (aus der aufgerufenen Form heraus) :

AufrufForm.BringToFront; Wie man dasselbe Szenario nur mit Hilfe des Form-Namens hinbekommt, das ist mir noch nicht klar. Irgendwie denke ich, dass auch das gehen müsste.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von OldGrumpy
OldGrumpy

Registriert seit: 28. Sep 2006
Ort: Sandhausen
941 Beiträge
 
Delphi 2006 Professional
 
#3

AW: zwischen Forms wechseln

  Alt 16. Aug 2010, 02:11
Jedes Form kann doch einen Pointer auf sich selbst via Self liefern, warum willst Du den Umweg über den Namen gehen? Ich finde ein Konstrukt wie

SecondForm.Show(Self);

viel eleganter als da den Namen des Forms zu übergeben und dann später anhand des Namens nach dem richtigen Form zu suchen. Einfach wie von mkinzler schon angedacht TForm.Show überladen und fertig ist die Laube. Ggf. einziger Arbeitsaufwand: Überall im Projekt TForm durch die eigene abgeleitete Klasse ersetzen. Wenn Du nicht viel doppelten (eher vielfach identischen) Code schreiben willst, brauchst Du eh eine eigene Ableitung von TForm, warum also nicht gleich den Weg des geringsten Aufwands gehen? Durch die Überladung von TForm.Show kannst Du auch das Property einsparen, brauchst nur das private Field in der Klasse um den Aufrufer zu merken.
"Tja ja, das Ausrufezeichen... Der virtuelle Spoiler des 21. Jahrhunderts, der Breitreifen für die Datenautobahn, die k3wle Sonnenbrille fürs Usenet. " (Henning Richter)

Geändert von OldGrumpy (16. Aug 2010 um 02:14 Uhr) Grund: coole Uhrzeit und Nachtrag ;)
  Mit Zitat antworten Zitat
Antwort Antwort


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 01:09 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