AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi TGestureManager, mehrere Formulare damit verknüpft, Exception beim Start
Thema durchsuchen
Ansicht
Themen-Optionen

TGestureManager, mehrere Formulare damit verknüpft, Exception beim Start

Ein Thema von Alex_ITA01 · begonnen am 18. Dez 2017 · letzter Beitrag vom 18. Dez 2017
Antwort Antwort
Alex_ITA01

Registriert seit: 22. Sep 2003
1.134 Beiträge
 
Delphi 12 Athens
 
#1

AW: TGestureManager, mehrere Formulare damit verknüpft, Exception beim Start

  Alt 18. Dez 2017, 14:12
Also wenn man wirklich pro Formular ein GestureManager braucht, wäre das doch mehr als blöd oder?
Und das bei einer Entwicklungsumgebung die so viel Wert auf mobile Entwicklung legt.
Wenn ich 50 Formulare habe die alle auf links und rechts Wischen reagieren sollen, will ich das doch an einer zentralen Stelle festlegen und nicht 50 mal...
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.134 Beiträge
 
Delphi 12 Athens
 
#2

AW: TGestureManager, mehrere Formulare damit verknüpft, Exception beim Start

  Alt 18. Dez 2017, 14:40
Ohje, es scheint wirklich so zu sein...
Auszug aus der Hilfe:

Verwenden von Gesten in AnwendungenAus RAD Studio
Nach oben zu So erstellen Sie eine Anwendung mit Gesten-Komponenten

3. Sie müssen jeder Komponente, die Gesten verarbeiten soll, einen Gestenmanager zuweisen:

Quelle: Verwenden_von_Gesten_in_Anwendungen.htm

Sorry aber das ist doch sehr unkomfortabel oder?
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.555 Beiträge
 
Delphi 12 Athens
 
#3

AW: TGestureManager, mehrere Formulare damit verknüpft, Exception beim Start

  Alt 18. Dez 2017, 14:47
Du köntest dir einen GestenManager ableiten, der z.B. auf Application.MainForm nach einem "globalen" GestenManager sucht und sich beim Laden der Form/DFM, bzw. beim manuellen Create, von dort die globalen Gesten besorgt/kopiert.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.757 Beiträge
 
Delphi 12 Athens
 
#4

AW: TGestureManager, mehrere Formulare damit verknüpft, Exception beim Start

  Alt 18. Dez 2017, 14:53
Du köntest dir einen GestenManager ableiten, der z.B. auf Application.MainForm nach einem "globalen" GestenManager sucht und sich beim Laden der Form/DFM, bzw. beim manuellen Create, von dort die globalen Gesten besorgt/kopiert.
Es gibt keine globalen Gesten. Eine Geste ist immer an ein Control gebunden. Selbst wenn zwei Controls die gleiche Geste verwenden, werden beide separat für jedes Control im GestureManager verwaltet. Hier bietet sich insbesondere die Verwendung von Actions an, die ja zur Designzeit direkt mit den Gesten verknüpft werden können.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.555 Beiträge
 
Delphi 12 Athens
 
#5

AW: TGestureManager, mehrere Formulare damit verknüpft, Exception beim Start

  Alt 18. Dez 2017, 15:22
Es gibt keine globalen Gesten.
Gesten die der Entwickler/TE als Global ansieht.

Also wenn man wirklich pro Formular ein GestureManager braucht, wäre das doch mehr als blöd oder?
Und das bei einer Entwicklungsumgebung die so viel Wert auf mobile Entwicklung legt.
Wenn ich 50 Formulare habe die alle auf links und rechts Wischen reagieren sollen, will ich das doch an einer zentralen Stelle festlegen und nicht 50 mal...
Einmal im GestureManager auf der MainForm und die TMeinGestenManager auf seinen anderen 50 Forms kopieren die Einstellungen von dort.

Oder einmal einen GestureManager enstellen und dann per Copy&Paste auf jede andere Form drauf. (hoffen alles wird mitgenommen und bei Änderungen überall neu draufkopieren)
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (18. Dez 2017 um 15:25 Uhr)
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.134 Beiträge
 
Delphi 12 Athens
 
#6

AW: TGestureManager, mehrere Formulare damit verknüpft, Exception beim Start

  Alt 18. Dez 2017, 20:36
Ok danke für eure Hinweise.
Also den GestureManager von Formular zu Formular kopieren geht natürlich aber ich muss in jedem Formular im Objektinspektor unter Touch den GestureManager verknüpfen und auch die Gestures definieren (z.B. Links nach Rechts sowie Rechts nach Links).
Leider also nicht nur Copy&Paste.
Ich habe auch festgestellt, dass auf einem PageControl mit mehreren Tabs und relativ vielen Komponenten auf jedem Tab, ein hinzugefügter GestureManager dazu führt, dass das "Show" des Fenster (mit dem PageControl) sehr viel länger dauert, wie das gleiche Formular nur ohne den GestureManager. Wahrscheinlich aufgrund des Streamens der Komponenten oder?
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.757 Beiträge
 
Delphi 12 Athens
 
#7

AW: TGestureManager, mehrere Formulare damit verknüpft, Exception beim Start

  Alt 18. Dez 2017, 14:50
3. Sie müssen jeder Komponente, die Gesten verarbeiten soll, einen Gestenmanager zuweisen:
Das heißt ja nicht, daß das nicht immer derselbe sein kann. Er muss nur auf demselben Form liegen.

Ich habe das so gelöst, daß ich ein zentrales Form mit einem GestureManager habe, von dem dann alle anderen Forms abgeleitet sind. Dort kann man auch die gemeinsamen Gesten bereits verdrahten. Formvererbung ist ja auch in anderen Fällen genau dafür gedacht, um gemeinsamen Verhalten bzw. Aussehen von Forms zu zentralisieren.

Die einzelnen Gesten und Aktionen werden für jedes Control separat im GestureManager gespeichert und somit auch von dem in die DFM gestreamt. Beim Lesen aus der DFM kommt dann ein Fehler, wenn die Controls nicht gefunden werden. Deswegen müssen die Controls existieren bevor das Streaming aus der DFM losgehen kann. Das geht natürlich nicht, wenn der GestureManager z.B. auf einem Datenmodul liegt, das vor allen anderen Forms erzeugt wird.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  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 23:47 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