在C ++ Builder XE6中使用Firemonkey(FMX),我试图在项目的cpp文件中加载样式。
就在
之前Application->Initialize ()
我有
Fmx::Types::TFmxObject *style;
style = TStyleStreaming::LoadFromResource((unsigned int)HInstance, L"MacJet", RT_RCDATA);
TStyleManager::SetStyle (style);
在设计时将名为MacJet的样式作为资源加载到项目中。
当我将Win32激活为目标平台时,运行正常,样式在应用程序中正确显示。
但是,当我激活Mac OS X时,我在style = ...行上出现错误,说明
“异常类SIGSEGV(11)。”
当我删除上面的三行并在Mac上运行时,程序会加载。
我是跨平台开发的新手,有什么想法导致这个错误?
答案 0 :(得分:0)
变通方法解决方案:在应用程序初始化之前,我没有使用资源并加载样式,而是将TStyleBook添加到应用程序的主窗体中,在设计时将样式添加到样式簿,然后调用TStyleManager :: SetStyle()传递在样式簿的Style属性中,在主窗体的Create事件中设置应用程序的样式。