Print(__FUNCSIG__," || ENTER FUNCTION");
//--- 测试 d0
__int d0={0}; Print ("TEST d0: d0.v=",d0.v, " DATA d.b:"); ArrayPrint(d0.b);
ViewArray(d0.b,0,4);
Print("ViewArray OUTPUT: d0.v=",d0.v," DATA d.b:"); ArrayPrint(d0.b);
//--- d - AS WAS+some Prints
__int d; d.v=0;Print("\n","d AS WAS: d.v=",d.v," DATA d.b:"); ArrayPrint(d.b);
ViewArray(d.b,0,4);
Print("ViewArray OUTPUT: d.v=",d.v, " DATA d.b:"); ArrayPrint (d.b);
//---return(d.v);
输出:
//connected to db.//table created.//插入的值为 "1"。//int CSQLite3Cell::GetInt() || ENTER FUNCTION//int CSQLite3Cell::GetInt() || type=CT_INT case//int CByteImg::ViewInt() || ENTER FUNCTION//TEST d0: d0.v=0 DATA d.b://0 0 0 0//ViewArray 输出: d0.v=1 DATA d.b://1 0 0 0// //d AS WAS: d.v=0 DATA d.b://0 0 0 0//ViewArray 输出:d.v=0 DATA d.b://10 0 0//RETRIEVED DATA FROM TABLE : Count(*)=0
2017.09.26 07:39:35.569 SQLite3Test'C:\Users\Roman\AppData\Roaming\MetaQuotes\Terminal\MQL5\Libraries\sqlite3_32.dll' is not 64-bit version 2017.09.26 07:39:35.602 SQLite3Test (GAZP,H1) 无法加载'C:\Users\Roman\AppData\Roaming\MetaQuotes\Terminal\MQL5\Libraries\sqlite3_32.dll' [193]
测试脚本:
+为便于比较,在int ViewInt() 内添加了打印和测试 __int d0
输出:
在写之前的帖子之前,我读了您的代码,@o_o_o,并且很清楚地看到有一个联合 - 这就是为什么我也觉得这个错误很奇怪,但它显然是存在的。
不过,我在库中(在代码的更下面--在ViewArray 和构造函数 __int) ,并没有发现这个错误。不过,我可以从OUTPUT 中高亮显示的内容(对于 union 来说显然很奇怪)推测,"好心 "的编译器在 ViewArray(只操作 .b)之后没有看到 __int 中的变化,"没有查看 "d. v 本身,就从缓存 中返回了 .v = 0(高亮显示)的最后一个已知值。
但在这里我只是假设,因为我没有看到编译器本身,我再说一遍,我没有在你的代码中发现任何与这个错误有关的错误。
新文章SQL 和 MQL5:使用 SQLite 数据库:
作者:o_O
嘿,伙计,很棒的文章。
下午好、
我在运行脚本时收到 2 条警告:
2017.09.26 07:39:35.569 SQLite3Test 'C:\Users\Roman\AppData\Roaming\MetaQuotes\Terminal\MQL5\Libraries\sqlite3_32.dll' is not 64-bit version
32 和 64 库都在存档中。我的系统是 Win7 64。我不明白 - 我需要做什么?
运行脚本时,我收到了 2 条警告:
2017.09.26 07:39:35.569 SQLite3Test 'C:\Users\Roman\AppData\Roaming\MetaQuotes\Terminal\MQL5\Libraries\sqlite3_32.dll' is not 64-bit version
2017.09.26 07:39:35.602 SQLite3Test (GAZP,H1) 无法加载'C:\Users\Roman\AppData\Roaming\MetaQuotes\Terminal\MQL5\Libraries\sqlite3_32.dll' [193]
32 和 64 库都在存档中。我的系统是 Win7 64。我不明白 - 我需要做什么?
没什么
这是 MT 对导入的反应,但代码仍在运行。
附录中有PrintTable 函数 的修复程序。
新文章SQL 和 MQL5:使用 SQLite 数据库 已发布:
作者:o_O
你们有 32 位版本吗?
问题是我有很多 32 位客户...
您好。
当我运行SQLite3Test.mq5 时,出现错误 14 (SQLITE_CANTOPEN)。我做错了什么?
您好。
当我运行 SQLite3Test.mq5 时,出现错误 14 (SQLITE_CANTOPEN)。
我做错了 什么?
没有调试或记录错误位置
不调试或不将错误位置打印到日志中
1.我 "按原样 "运行存档中的脚本。
2.调试 "真实数据"。我输入第一个函数:
3.我在SQLite3Base.mqh 文件中找到了这个地方:
4.执行该行后
int res=::sqlite3_open(file,m_db);得到 res 等于 14。脚本到此结束。
虽然从文章的文字来看,应该是
"В результате работы появится файл базы данных в папке установки терминала MetaTrader 5."原因是什么?该从哪方面查找?
检查下载的脚本
第一次一切正常
谢尔盖-谢夫丘克
朝哪个方向看?
从这里 开始
检查下载的脚本
我也检查过了:
还是错误 14。
我知道很难从你那里得到帮助。我只能自己想办法了。请记住,您的示例并不是在所有地方都有效。我也不知道为什么。