我试图在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上运行时,程序会加载。
我是跨平台开发的新手,有什么主意导致此错误?
最佳答案
解决方法:我没有在应用程序初始化之前使用资源并加载样式,而是在应用程序的主窗体中添加了TStyleBook,在设计时将样式添加到样式簿中,然后调用TStyleManager :: SetStyle()来传递样式簿的Style属性,用于在主窗体的Create事件上设置应用程序的样式。
关于macos - 在Mac OS X上从资源加载样式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23741597/