UI 按钮 OnClicked 属性编译但导致 UE4 崩溃



我对C++还很陌生,所以一直在尝试找到一些可能有助于解决此问题的基本类示例。我发现的那些最初有所帮助,但现在我遇到了与我的代码相关的引擎崩溃。

这尤其是关于自定义编辑器插件中的虚幻引擎平板UI按钮,但我认为这可能只是一个C++问题。

这。我的按钮的OnClicked属性设置为委托,项目在VS2015中编译良好,但是一旦我在UE4中选择编辑器插件选项卡,引擎就会崩溃。

FVASFVPluginEdModeToolkit.h

class FVASFVPluginEdModeToolkit : public FModeToolkit
{
public:
    FVASFVPluginEdModeToolkit();
    FReply GetPercentage();
};

FVASFVPluginEdModeToolkit.cpp

FVASFVPluginEdModeToolkit::FVASFVPluginEdModeToolkit()
{
    //rest of the UI code
    SNew(SButton)
    .Text(FText::FromString("Log Percentage"))
    .OnClicked(this, &FVASFVPluginEdModeToolkit::GetPercentage)
    //rest of the UI code
}
...
FReply FVASFVPluginEdModeToolkit::GetPercentage()
{
    return FReply::Handled();
}
任何

帮助将不胜感激,您可以看到我还没有尝试做任何花哨的事情,只需让委托函数返回它有效!

注释掉 .OnClicked 允许项目编译并且编辑器插件加载正常,所以我假设错误与我的函数或我如何设置有关。点击。

发生崩溃时,"未找到小型转储",并且崩溃日志似乎不包含任何有用的信息:

崩溃日志

[2016.03.11-15.45.17:425][422]日志窗口:错误:Windows 获取上一个错误:操作已成功完成。(0) [2016.03.11-15.45.17:657][422]日志崩溃跟踪器: [2016.03.11-15.45.17:658][422]日志崩溃跟踪器: [2016.03.11-15.45.17:658][422]日志窗口:错误: === 严重错误: === 断言失败: SharedThis.Get() == this [File:D:\BuildFarm\buildmachine_++depot+UE4-Releases+4.10\Engine\Source\Runtime\Core\Public\Templates\SharedPointer.h] [行:1093]

解决方法是使用 OnClicked_Raw()

最新更新