Nikolay Kositsin: 大家好!当从BMP文件中获取数据时,ResourceReadImage()函数似乎不能正常工作。我做了一个脚本,在画布上画一张图片作为背景。如果我们从位于HDD的文件中获取图像像素,并将其填充到画布上,一切都很正常,但如果我们使用ResourceReadImage()函数从位于ex5文件本身的BMP资源中获取图像像素,得到的背景图像看起来就像源图像的一个小片,并被大大放大了。原因是什么呢?
拷贝点循环是错误的,用以下方式代替
//--- заливаем фон из массива на канвуfor(int y1=0; y1<height && !IsStopped(); y1++)
for(int x1=0; x1<width; x1++)
{
canvas.PixelSet(x1,y1,bmp_data[y1*width+x1]);
}
你能告诉我,在第二次调用OrderSend 程序时(启动终端后)出现[Too many trade requests]错误的原因是什么?
翻阅了周一至周四的日志。我在各地都看到了同样的情况:第一个限价订单成功发送,而接下来的所有订单都返回[交易请求太多]的错误。然后他们开始通过。唯一的犯罪行为是在OnInit()中频繁调用CopyTickRange。
BCS Broker MetaTrader 5终端x64 build 2170开始运行
@Ilyas
从dll中,指向字符串的指针const wchar_t*复制了一个偶数字符串,有这些参数
wcsncpy( out, data, wcslen(data) * 2 );
有了这些参数,当然就会泄密。
但是,字符串的结果是均匀的,没有一个额外的字符滑过。
而在终止程序后,专家顾问日志显示了一条信息
而且有这样一个测试。
它显示如下
char字符''返回两个字节,而不是一个字节。可能是因为它采用了Unicode。
而且,与wchar_t相比,字符串每条返回12个字节,而不是两个字节。
作为一种可能的方式,也许上型排列在某处扭曲了弦的尺寸?
@Ilyas
从dll中,指向字符串的指针const wchar_t*复制了一个偶数字符串,有这些参数
有了这些参数,当然就会泄密。
但是,这个字符串原来是一个偶数,没有一个额外的字符滑过。
而在终止程序后,专家顾问日志显示了一条信息
而这样的测试
它显示如下
char字符''返回两个字节,而不是一个字节。可能是因为它采用了Unicode。
而且,与wchar_t相比,字符串每个返回12个字节,而不是两个字节。
作为一种可能的方式,也许上型排列在某处扭曲了弦的尺寸?
@Ilyas
从dll中,const wchar_t* string指针复制了一个普通的字符串,有这些参数
有了这些参数,当然就会泄密。
但是,这个字符串变成了一个偶数,没有多余的字符丢失。
而在终止程序后,专家顾问日志显示了一条信息
而这样的测试
它显示如下
char字符''返回两个字节,而不是一个字节。可能是因为它采用了Unicode。
而且,与wchar_t相比,字符串每条返回12个字节,而不是两个字节。
作为一种可能的方式,也许上型排列在某处扭曲了弦的尺寸?
1.在MQL中只有Unicode,这就是为什么字符大小为2字节的原因。
2.字符串是一个结构(4字节的缓冲区大小和8字节的指针大小)。
拷贝到字符串的内容应该是
如果这不起作用,错误必须在其他地方找到
大家好!当从BMP文件中获取数据时,ResourceReadImage()函数似乎不能正常工作。我做了一个脚本,在画布上画一张图片作为背景。如果我们从位于HDD的文件中获取图像像素,并将其填充到画布上,一切都很正常,但如果我们使用ResourceReadImage()函数从位于ex5文件本身的BMP资源中获取图像像素,得到的背景图像看起来就像源图像的一个小片,并被大大放大了。原因是什么呢?
拷贝点循环是错误的,用以下方式代替
还有这个问题--如何获得一个输入变量的列表,就像FrameInputs( )函数中的一样,但只需一次就能完成,无需优化?
是的,最近出现了这样的问题,我不知不觉中忘记了,现在我自己也有了这样的任务(我想自动制作设定文件)。
在什么方向挖掘?如果有人记得那次讨论--它在哪里(我找不到了)?
当然,在每个专家顾问中,我可以写一个函数,这将创建这样一个列表,但最好是有一个通用的库函数。当然,你可以在每个EA中写一个单一的函数来创建这样一个列表,但一个通用的库函数会更好。
请看这里。
请看这里。
这是正确的,就是这样 !
非常感谢你。
1.在MQL中只有Unicode,这就是为什么字符大小为2字节的原因。
2.字符串是一个结构(4字节的缓冲区大小和8字节的指针大小)。
拷贝到字符串的内容应该是
如果这不起作用,必须在其他地方寻找错误的原因
如果要复制的字符串的大小大于或小于分配的缓冲区的大小,会发生什么?