AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung FMX: XE7: TDateEdit braucht viel Zeit zur Erzeugung
Thema durchsuchen
Ansicht
Themen-Optionen

FMX: XE7: TDateEdit braucht viel Zeit zur Erzeugung

Ein Thema von Harry Stahl · begonnen am 30. Sep 2014 · letzter Beitrag vom 1. Okt 2014
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.537 Beiträge
 
Delphi 11 Alexandria
 
#1

FMX: XE7: TDateEdit braucht viel Zeit zur Erzeugung

  Alt 30. Sep 2014, 11:18
Jedes TDateEdit, das auf einer Form liegt, braucht ca. 300 MS (gemessen auf meinem Computer) zur Erzeugung (bei XE6 waren es 0 MS). Hat man einige davon auf der Form, ist das nicht mehr akzeptabel.

Ich habe das mal bei QC gemeldet: http://qc.embarcadero.com/wc/qcmain.aspx?d=127958

Anliegend auch das Demo-Projekt, was das belegt.

Hat Jemand schon mal mit dem Problem zu kämpfen gehabt und kennt einen WorkAround?

Die entsprechende TMS-Kalenderkomponente kann ich leider nicht verwenden, da Sie unter MAC OS X nicht funktioniert.

Edit: OK, hatte vergessen das Projekt neu zu zippen, wo ich meine hilfsunit weglasse. Anliegend nun ohne hilfsunit.
Angehängte Dateien
Dateityp: zip DateEdit.zip (1,8 KB, 6x aufgerufen)

Geändert von Harry Stahl (30. Sep 2014 um 12:07 Uhr)
  Mit Zitat antworten Zitat
Alex_ITA01

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

AW: FMX: XE7: TDateEdit braucht viel Zeit zur Erzeugung

  Alt 30. Sep 2014, 11:30
Projekt lässt sich nicht compilieren...
Unit "hs_tools_fmx" nicht gefunden

Edit: Habe mal deine persönliche Unit rausgelassen und getestet. Ist bei meinem XE7 auch so
Selbst wenn du im Objektinspektor die 3 Kompos markierst und an eine neue Stelle einfügst (auf der gleichen Form), wirst du arm... Ich habe das mal bis zu 36 Stück probiert. Das ist echt heftig.
Das ist kein "kleiner" Bug!
Let's fetz sprach der Frosch und sprang in den Mixer

Geändert von Alex_ITA01 (30. Sep 2014 um 11:38 Uhr)
  Mit Zitat antworten Zitat
FrankJ28

Registriert seit: 7. Apr 2008
211 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: FMX: XE7: TDateEdit braucht viel Zeit zur Erzeugung

  Alt 30. Sep 2014, 15:21
Hallo,
ist das ein reines FMX-Problem, oder ist auch die VCL davon betroffen?
Danke und ciao
Frank
"Sage was du tust, und tue was du sagst"
Johannes Rau
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.537 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: FMX: XE7: TDateEdit braucht viel Zeit zur Erzeugung

  Alt 30. Sep 2014, 15:29
Habe es zwar nicht getestet, wird aber wohl kaum der Fall sein, da die FMX-Komponente eine ganz andere als die VCL-Komponente ist.
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#5

AW: FMX: XE7: TDateEdit braucht viel Zeit zur Erzeugung

  Alt 30. Sep 2014, 16:11
Das ist ja schon logisch, dass es so lahm ist. Schließlich wird ja die gesamte Kalenderkonfiguration beim Erzeugen aus einzelnen Controls zusammengebaut. Dazu gehören auch mehrere Listboxen mit Einträgen für Tage, Monate und Jahre, Label für Wochentage, Kalenderwochen usw. Eine Beschleunigung ließe sich nur erzielen wenn man Teile davon über mehrere Controls sharen würde.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: FMX: XE7: TDateEdit braucht viel Zeit zur Erzeugung

  Alt 30. Sep 2014, 16:15
Aber das war auch schon bei XE6 so, und hat nicht so lange benötigt. das gleiche Problem scheinen aber auch FastReports auf dem Mac zu haben

https://www.youtube.com/watch?v=EXfwcOG5Rio
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.537 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: FMX: XE7: TDateEdit braucht viel Zeit zur Erzeugung

  Alt 30. Sep 2014, 16:49
Ja, in XE6 ist die Erzeugung nicht messbar. Problem liegt irgendwo im Bereich des Ladens der Ressource. Bin mal ein wenig mit dem Debugger rein, aber wo es genau liegt, habe ich nicht rausgefunden. So ein einfacher WorkAround scheint nicht möglich zu sein.

Ich hoffe EMBA fixt das schnell.
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.537 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: RAD Studio XE7: Was Entwickler davon halten...

  Alt 1. Okt 2014, 01:33
Na, bis EMBA fertig ist, mit der Bug-Korrektur, so lange wollte ich nicht warten. Habe daher mir mit einem Frame eine einfache Kalender-"Komponente" selber gebaut.

Die hat die gleichen Eigenschaftswerte (jedenfalls soweit ich diese Komponente benutze), dann kann ich die mit einem Rutsch wieder austauschen, wenn es eine Korrektur von EMBA gibt.

In der Anlage mal 2 Screenshots von der MAC-Version (siehe Anlage). Windows-Version ist nun mit XE7 fertig gestellt und im Vertrieb.

Gerade macht mir richtig Spaß, mit dem Multiview-Designer die Formulare auf MAC-spezifische Anzeige-Bedingungen anzupassen. Das geht wirklich schnell und einfach.
Miniaturansicht angehängter Grafiken
cal1.png   cal2.png  

Geändert von MrSpock ( 1. Okt 2014 um 08:40 Uhr) Grund: Verschoben in den richtigen Thread.
  Mit Zitat antworten Zitat
arnof

Registriert seit: 25. Apr 2013
1.254 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#9

AW: FMX: XE7: TDateEdit braucht viel Zeit zur Erzeugung

  Alt 1. Okt 2014, 08:58
ich denke das ist ein Refresh Problem, das gefühlte 200.000 mal aufgerufen wird:

Auszug aus den nativen D.P.F Komponenten:

Delphi-Quellcode:
7) This is very important to: if you want have very high performance in your project override in all you TForm declrations PaintRects
  Sample:

type
  TFDatePicker = class( TForm )
  private
    { Private declarations }
  protected
    procedure PaintRects( const UpdateRects: array of TRectF ); override; <---- This line a important !
  public
    { Public declarations }
  end;

and in your implementation:

procedure TFDatePicker.PaintRects( const UpdateRects: array of TRectF );
begin
{} <-- This is important you not have any [inherited] keyword here !
end;
hier solltest Du am OnCreate den Refresh irgnorieren und erst am ab dem OnShow zulassen
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

AW: FMX: XE7: TDateEdit braucht viel Zeit zur Erzeugung

  Alt 1. Okt 2014, 10:06
@arnof

Diese Methode wird beim Start eines Formulars (ein paar TDateEdit auf der Form) genau 2 mal aufgerufen und auch nachdem DoShow erfolgte (die Form ist also sichtbar).

Bringt also nichts
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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:38 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