Einzelnen Beitrag anzeigen

Der schöne Günther

Registriert seit: 6. Mär 2013
6.158 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: FMX: Wann wird ein Style geladen? / Tests für FMX-Workarounds

  Alt 16. Nov 2018, 12:20
Richtig, hier ein komplettes Beispiel:

https://gist.github.com/JensMertelme...0d6c75523b6f92

Im Endeffekt ist es nur ein DUnit-Projekt in welchem ich ein FMX-Formular anlege:
Delphi-Quellcode:
   testForm := TForm.CreateNew(nil);
   TStyleManager.UpdateScenes();
.

Mein Memo lege ich einfach an mit TMemo.Create(testForm) und die Geschichte mit dem background/ActiveStyleObject:


Delphi-Quellcode:
procedure TestTextBox.TestBackgroundStyle();
var
   obj: TFmxObject;
begin
   cut.Parent := testForm;
   cut.ApplyStyleLookup();
   obj := cut.FindStyleResource('background');
   CheckNotNull(obj);
   CheckIs(obj, TActiveStyleObject);
end;

Was soll man sagen? Es funktioniert, danke für den Tipp mit TStyleManager.UpdateScenes();


Es verbleiben zwei Problem:

Die DUnit-Testanwendung stürzt beim Schließen mit einem Runtime-Error 216 ab. Da macht es keinen Unterschied ob es eine DUnit-Konsolenanwendung oder mit grafischer Oberfläche ist. Im Degbugger sieht man dass er bei der Finalisierung der Unit FMX.Forms abstürzt wenn er TStyleManager.UnInitialize() aufruft. Habe ich hier noch etwas vergessen?
(Kompletter Stack)


Der zweite Punkt ist dass ich beim Erzeugen des Projekts nun immer folgende Warnungen bekomme:
Code:
[dcc32 Hinweis] H2161 Warning: Duplicate resource: Type 12 (CURSOR GROUP), ID 32761; File c:\program files (x86)\embarcadero\studio\17.0\lib\Win32\release\FMX.Controls.Win.res resource kept; file c:\program files (x86)\embarcadero\studio\17.0\lib\Win32\release\controls.res resource discarded.
[dcc32 Hinweis] H2161 Warning: Duplicate resource: Type 12 (CURSOR GROUP), ID 32762; File c:\program files (x86)\embarcadero\studio\17.0\lib\Win32\release\FMX.Controls.Win.res resource kept; file c:\program files (x86)\embarcadero\studio\17.0\lib\Win32\release\controls.res resource discarded.
[dcc32 Hinweis] H2161 Warning: Duplicate resource: Type 12 (CURSOR GROUP), ID 32763; File c:\program files (x86)\embarcadero\studio\17.0\lib\Win32\release\FMX.Controls.Win.res resource kept; file c:\program files (x86)\embarcadero\studio\17.0\lib\Win32\release\controls.res resource discarded.
[dcc32 Hinweis] H2161 Warning: Duplicate resource: Type 12 (CURSOR GROUP), ID 32766; File c:\program files (x86)\embarcadero\studio\17.0\lib\Win32\release\FMX.Controls.Win.res resource kept; file c:\program files (x86)\embarcadero\studio\17.0\lib\Win32\release\controls.res resource discarded.
[dcc32 Hinweis] H2161 Warning: Duplicate resource: Type 12 (CURSOR GROUP), ID 32767; File c:\program files (x86)\embarcadero\studio\17.0\lib\Win32\release\FMX.Controls.Win.res resource kept; file c:\program files (x86)\embarcadero\studio\17.0\lib\Win32\release\controls.res resource discarded.
Was muss ich hier tun?
  Mit Zitat antworten Zitat