Delphi-PRAXiS
Seite 16 von 20   « Erste     6141516 1718     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   FireMonkey Sammelthread (https://www.delphipraxis.net/162660-firemonkey-sammelthread.html)

Merkur 18. Mär 2013 13:03

AW: FireMonkey Sammelthread
 
Liste der Anhänge anzeigen (Anzahl: 1)
In XE3 gibt es zumindest den Punkt:

Datei/Neu/FireMonkey-Anwendung für Metropolis-UI - Delphi

Da kommt dann eine lauffähige Demo-App mit einer Horizontalen-Scroll-Box mit Kacheln etc. bei heraus.

mkinzler 18. Mär 2013 13:28

AW: FireMonkey Sammelthread
 
Es handelt sich hier aber nur um einen Skin. Es ist keine WindowsRT, sondern eine "normale" Windows-Applikation

Merkur 18. Mär 2013 14:52

AW: FireMonkey Sammelthread
 
Sorry, das Tablet hat Windows 8 Prof. nicht Windows RT.
Eigendlich ist mir egal, ob das Programm als App oder "normale" Anwendung wie der z.B. der Explorer läuft.
Allerdings sollte man wenigstens ein Password und ein paar wenige Zeilen Text ohne Hardware-Tastatur eingeben können. Wichtig insb. weil das Programm als Vollbild ohne Rahmen läuft.

stahli 18. Mär 2013 15:02

AW: FireMonkey Sammelthread
 
Laut Wiki soll FM2 ja eine virtuelle Tastatur unterstützen.
http://docwiki.embarcadero.com/RADSt...%2BBuilder_XE3

Ich meine irgendwo in einem Emba-Video gesehen zu haben, dass man die aber explizit ermitteln/aktivieren muss (je nach System für Windows oder OS X).
Vielleicht steht im Wiki ja noch genaueres dazu.

Merkur 18. Mär 2013 16:01

AW: FireMonkey Sammelthread
 
Der Tip mit dem Video war super! So erscheint die Tastatur:

Delphi-Quellcode:
procedure TLoginViewForm.edPasswordEnter(Sender: TObject);
var
  KBDService : IFMXVirtualKeyboardService;

begin
  if TPlatformServices.Current.SupportsPlatformService(
     IFMXVirtualKeyboardService, IInterface(KBDService)) then
    begin
      edPassword.SetFocus;
      KBDService.ShowVirtualKeyboard(LoginViewForm);
    end;
end;

Merkur 18. Mär 2013 16:37

AW: FireMonkey Sammelthread
 
Zu früh gefreut :(
Funktioniert unter Windows 8 Desktop aber nicht auf dem Tablet.
Dort erscheint keine Tastatur und das Programm lässt sich auch nicht mehr schließen.

stahli 19. Mär 2013 20:13

AW: FireMonkey Sammelthread
 
Probleme beim Debugen!?

Ich habe diverse Probleme beim Debugen meines Frameworks.
Z.B. wird wenn eine Zelle eines Grids focussiert wird eine Neuzeichnung des Grids veranlasst.
In bestimmten Fällen gab es eine Fehlermeldung (Zugriff auf nil).
Eine Quelltextzeile wurde nicht angegeben.

Beim Debugen kam ich dann recht weit in´s System und dann wieder in DoEnter/DoExit meiner Zelle.
Dort wurde der Fehler durch das Zeichnen des übergeordneten Grids erzeugt.
Ok, das habe ich nun geändert.

Aber rätselhaft ist mir, warum der Debuger die Fehlerstelle nicht erkennt.
Auch Eurekalog 7 ist da scheinbar hilflos...

Kennt Ihr das Problem auch?

DSCHUCH 20. Mär 2013 09:24

AW: FireMonkey Sammelthread
 
Das Problem hatten wir ja zuletzt häufiger hier.

Das Problem ist, das der Code auch auf NIL objekte ausgeführt wird, solange bis auf das Feld einer Klasse zugegriffen wird. Damit weiß der Debugger die eigentliche Fehlerzeile nicht, sondern nur die Zeile, wo das erste mal auf ein internes Feld einer Klasse zugegriffen wird.

Du muß von dieser Zeile ausgehend rückwärts den CallStack durchprüfen und Schauen/Testen/Überlegen, wo der Fehler eigentlich entstanden ist und wie weit der Code noch ausgeführt wurde, obwohl Objekte NIL sind.

stahli 20. Mär 2013 09:42

AW: FireMonkey Sammelthread
 
Das komische ist, dass der Eintritt in meine Cell.DoEnter im CallStack gar nicht mehr zu sehen war. Irgendwie funktioniert der Debuger nicht wie bisher von der VCL gewohnt.
Ist etwas schwer zu beschreiben. Vielleicht hat auch mein System ein Problem, wenn Ihr das nicht bestätigen könnt ("Verwendung suchen" funktioniert auch nicht mehr seit einiger Zeit).

stahli 21. Mär 2013 22:56

AW: FireMonkey Sammelthread
 
Liste der Anhänge anzeigen (Anzahl: 1)
"Verschieben Formularweit"...

Ich ermögliche ein Verschieben der HeaderItems von meinem Gitter. Dragmode möchte ich in dem Fall nicht/ungern nutzen und löse das mit MouseDown und MouseMove.
(In gleicher Weise will ich die Breitenänderung durch anfassen am Rand ermöglichen.)
Solange ich über meinem gezogenen Header bin ist alles super (gelber Pfeil).

Wenn ich aber außerhalb des gezogenen HeaderItems gerate greift (natürlich) MouseMove nicht mehr.
Den benachbarten HeaderItems und deren Parent kann ich ja beibringen, dass Sie auf dieses "DragOver" reagieren (roter Pfeil). Das ist mir aber etwas zu umständlich.

Gibt es eine allgemeinere Lösung, dass generell auf das Ziehen reagiert wird egal über welchem Control die Maus gerade ist (Pfeile mit Fragezeichen)? Das soll aber (im FMX!) automatisch passieren, nicht irgendwie in Application-Ereignissen o.ä.
Eigentlich müsste MouseMove bestenfalls auch außerhalb des gezogenen HeaderItems weiter feuern.
Die Mausposition zum Formular habe ich beim Mausklick vor dem Ziehvorgang bereits ermittellt und könnte somit die Verschiebung immer über die Mausposition zum Formular feststellen.

Ich habe mal in den Splitter geschaut, da aber auf die Schnelle noch nichts passendes gefunden, wie man so etwas realisieren kann.

Weiß jemand Rat?


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:45 Uhr.
Seite 16 von 20   « Erste     6141516 1718     Letzte »    

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