如何在 MQL5 中获取错误消息而不是整数?
How to get an error message instead of an integer in MQL5?
我正在尝试使用 MQL5
中的 OpenCl
获取错误消息。
int cl_ctx;
if ( ( cl_ctx = CLContextCreate( CL_USE_ANY ) ) == INVALID_HANDLE )
{
Print( "OpenCL not found: ", GetLastError() );
float pr = 2.0 / ( period + 1.0 );
result[0] = (float)price[position] * pr + prev_value * ( 1 - pr );
Print( result[0] );
return( result[0] );
}
我收到的消息是:
OpenCL not found: 5113
现在我不知道这个5113
是什么意思。我如何才能以人类可读的格式获取消息以帮助我有效地调试我的程序?
如果您的代码收到 _LastError == 5113
:
记录的 human-readable 解释是这样的:
ERR_OPENCL_TOO_MANY_OBJECTS 5113 Too many OpenCL objects
下次,最好通过 MT5 日志中的 copy/paste 提供几 "surrounding" 行,关于运行时错误事件有更多详细信息。
所有 error-code 定义和解释都保存在文档和 < stderror.mqh >
文件中。
也可以re-readonline documentation辅助。
最后但并非最不重要的是,总是 pre-clear _LastError
调用 ResetLastError()
状态
我正在尝试使用 MQL5
中的 OpenCl
获取错误消息。
int cl_ctx;
if ( ( cl_ctx = CLContextCreate( CL_USE_ANY ) ) == INVALID_HANDLE )
{
Print( "OpenCL not found: ", GetLastError() );
float pr = 2.0 / ( period + 1.0 );
result[0] = (float)price[position] * pr + prev_value * ( 1 - pr );
Print( result[0] );
return( result[0] );
}
我收到的消息是:
OpenCL not found: 5113
现在我不知道这个5113
是什么意思。我如何才能以人类可读的格式获取消息以帮助我有效地调试我的程序?
如果您的代码收到 _LastError == 5113
:
记录的 human-readable 解释是这样的:
ERR_OPENCL_TOO_MANY_OBJECTS 5113 Too many OpenCL objects
下次,最好通过 MT5 日志中的 copy/paste 提供几 "surrounding" 行,关于运行时错误事件有更多详细信息。
所有 error-code 定义和解释都保存在文档和 < stderror.mqh >
文件中。
也可以re-readonline documentation辅助。
最后但并非最不重要的是,总是 pre-clear _LastError
调用 ResetLastError()