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?