我对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让项目编译并且编辑器插件加载正常,所以我假设错误与我的函数或我如何设置.OnClicked有关。
当崩溃发生时,“找不到minidump”,崩溃日志似乎不包含任何有用的信息:
崩溃日志
[2016.03.11-15.45.17:425] [422] LogWindows:错误:Windows GetLastError:操作成功完成。 (0) [2016.03.11-15.45.17:657] [422] LogCrashTracker: [2016.03.11-15.45.17:658] [422] LogCrashTracker: [2016.03.11-15.45.17:658] [422] LogWindows:错误:===严重错误:=== 断言失败:SharedThis.Get()== this [File:D:\ BuildFarm \ buildmachine _ ++ depot + UE4-Releases + 4.10 \ Engine \ Source \ Runtime \ Core \ Public \ Templates \ SharedPointer.h] [Line:1093 ]