Einzelnen Beitrag anzeigen

Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.680 Beiträge
 
Delphi 5 Professional
 
#26

AW: Positionierung einer Form in Multimonitorumgebung

  Alt 16. Nov 2015, 19:46
Zitat:
ändere dort die Ableitung von TForm auf TFormEx
Wieso so umständlich ? Es ist doch schon alles von Anfang an in der Unit Forms vorhanden.
Wie positionierst du denn ein Formular auf dem zweiten Monitor? Du durchsuchst das Array Screen.Monitor. Ich tue das zwar auch, aber ich biete das durch den Enum TFormMonitor auch nach außen an, so dass man eben ohne zusätzliche Arbeit direkt auf den zweiten Monitor plazieren kann, allein durch den Aufruf von TFormEx.Show(fmSecondary) .

Wo bietet denn die Unit Forms eine solche Funktionalität an, ein Formular auf dem zweiten oder dritten Monitor zu plazieren? Standardmäßig gibt's doch nur die Möglichkeiten von Delphi-Referenz durchsuchenTForm.DefaultMonitor, das aber eben keine weiteren Monitore beinhaltet. Ich sehe daher nichts, nur das Durchackern des Screen.Monitor Arrays. Und genau das habe ich in eine Klasse gepackt, die das gezielte Plazieren erlaubt.

Zitat:
Im Grunde machst Du nichts anderes, als ein neues Formular zu erzeugen, das unnötig aufgebläht ist.
Aufgebläht ist daran gar nichts, es bietet nur erweiterte Funktionalität.

Zitat:
Was Du als "globale Variablen" bemängelst, sind bei Dir dafür die vielen zusätzlichen, verkomplizierenden Vorgänge. Das halte ich für viel undurchschaubarer.
Es mag auf den ersten Blick undurchschaubarer sein, ist es aber nicht wirklich.

Zitat:
Zitat:
Ja, eben. Und dafür sind globale Variablen ungeeignet.
Wozu sind sie denn dann schon VON HAUS AUS vorhanden?
Du meinst die globale Variable Screen? Ja, nun, Delphi hat auch mal klein angefangen, und damals™ hat man noch häufiger globale Variablen benutzt. Das heißt aber nicht, dass man das im eigenen Code fortsetzen muss. Globale Variablen sind böse, auch wenn ich sie ebenfalls hin und wieder verwende.

Zitat:
Zitat:
Jedes Formular einer von TForm abgeleiteten Klasse braucht eine passende DFM(-Ressource).
Wovon ich ausging, waren Prozeduren und Funktionen.
Nun, Funktionen sind nunmal keine Ressourcen. Ressourcen sind das, was im Kompilat landet und man nachträglich auslesen kann, Bilder, Audio, Video, Manifeste etc. pp. - und eben Formulare.

Zitat:
Zitat:
Ein modales Fenster hat nichts mit einem immer im Vordergrund befindlichen Fenster zu tun. Das sind zwei völlig verschiedene Dinge.
Ich habe mir lediglich einen möglichen Grund vorgestellt, wieso Du unbedingt ein modales Fenster haben willst.
Ich benutze fast ausschließlich modale Fenster, weil es bei mir sehr oft darum geht, vom Benutzer Daten abzufragen, ohne die es nicht weitergehen kann, aber auch, um den Codefluss für mich einfacher zu gestalten (ich hab in den allerwenigsten Fällen mehr als drei Formulare in meinen Anwendungen, insofern will ich da auch keinen Aufwand treiben). Und gerade bei den TC-Plugins gibt es überhaupt keinen Grund, nicht-modale Fenster zu verwenden.

Zitat:
Es gibt schon viel zu viele Anwendungen, die einen mit modalen Fenstern nerven, beispielsweise störende Abfragen, die sich nicht einfach wegklicken lassen.
Stimmt. Daher sind Fenster in meinen Anwendungen oft durch ESC schließ-/abbrechbar.

Zitat:
Weil Du unbedingt Deine komplizierte Methode beibehalten willst, statt auf das zugreifen zu wollen, was die Unit Forms von Haus aus bietet
Ne, sie bietet ja eben nicht alles, was ich brauche, daher ja die Ableitung und Erweiterung.

Zitat:
Damit bin ich aus dem Thema raus, weil Du meine Anregungen offenbar nicht verstehst.
Ich glaube schon, dass ich sie verstehe, nur sehe ich nicht, wie ich deine Varianten in meinem Code umsetzen sollte, ohne erheblich mehr Aufwand zu treiben, als das bei meiner Variante der Fall ist.

Wahrscheinlich gehen wir von zu unterschiedlichen Vorstellungen aus, dass wir aneinander vorbei reden/schreiben.

MfG Dalai
  Mit Zitat antworten Zitat