+Druckt und testet __int d0 innerhalb von int ViewInt() zu Vergleichszwecken
Print(__FUNCSIG__," || ENTER FUNCTION");
//--- TEST 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);
OUTPUT:
//VERBUNDEN MIT DB.//TABELLE ERSTELLT.//WERT "1" EINGEFÜGT.//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 OUTPUT: d0.v=1 DATA d.b://1 0 0 0// //d AS WAS: d.v=0 DATA d.b://0 0 0 0//ViewArray OUTPUT: d.v=0 DATA d.b://10 0 0/RETRIEVED DATA FROM TABLE : Count(*)=0
Ich habe deinen Code gelesen, @o_o, bevor ich die vorherigen Beiträge geschrieben habe, und habe sehr wohl gesehen, dass es eine Union gibt - deshalb kam mir dieser Fehler auch seltsam vor, aber er ist offensichtlich vorhanden.
Allerdings habe ich den Fehler nicht in der Lib gefunden (weiter unten im Code - in ViewArray und Konstruktoren__int). Allerdings kann ich aus dem, was in OUTPUT hervorgehoben ist (offensichtlich seltsam für union), annehmen, dass der "freundliche" Compiler die Änderung in __int nach ViewArray (das nur .b bedient) nicht gesehen hat und den letzten bekannten Wert für .v = 0 (hervorgehoben) aus dem Cache zurückgegeben hat, "ohne sich d. v selbst anzusehen".
Aber hier habe ich nur Vermutungen, weil ich den Compiler selbst nicht gesehen habe, und ich wiederhole, ich habe keine Fehler im Zusammenhang mit diesem Fehler in Ihrem Code gefunden.
rvkstudent: Ich erhalte 2 Warnungen, wenn ich das Skript ausführe:
2017.09.26 07:39:35.569 SQLite3Test'C:\Users\Roman\AppData\Roaming\MetaQuotes\Terminal\MQL5\Libraries\sqlite3_32.dll' ist keine 64-bit Version 2017.09.26 07:39:35.602 SQLite3Test (GAZP,H1) Cannot load 'C:\Users\Roman\AppData\Roaming\MetaQuotes\Terminal\MQL5\Libraries\sqlite3_32.dll' [193]
Beide Bibliotheken 32 und 64 waren im Archiv. Ich habe Win7 64. Ich verstehe das nicht - was muss ich tun?
nichts
Das ist die Reaktion von MT auf den Import, aber der Code funktioniert weiterhin.
Ich weiß, dass es schwierig ist, von Ihnen Hilfe zu bekommen. Ich werde es einfach selbst herausfinden müssen. Bedenken Sie nur, dass Ihr Beispiel nicht überall funktioniert. Ich weiß nicht, warum.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Erlauben Sie die Verwendung von Cookies, um sich auf der Website MQL5.com anzumelden.
Bitte aktivieren Sie die notwendige Einstellung in Ihrem Browser, da Sie sich sonst nicht einloggen können.
Sie sind angemeldet. Die Zwei-Faktor-Authentifizierung wurde deaktiviert. Richten Sie sie erneut ein und scannen Sie einen neuen QR-Code oder fahren Sie mit deaktivierter Zwei-Faktor-Authentifizierung fort.
Test-Skript:
+Druckt und testet __int d0 innerhalb von int ViewInt() zu Vergleichszwecken
OUTPUT:
Ich habe deinen Code gelesen, @o_o, bevor ich die vorherigen Beiträge geschrieben habe, und habe sehr wohl gesehen, dass es eine Union gibt - deshalb kam mir dieser Fehler auch seltsam vor, aber er ist offensichtlich vorhanden.
Allerdings habe ich den Fehler nicht in der Lib gefunden (weiter unten im Code - in ViewArray und Konstruktoren __int) . Allerdings kann ich aus dem, was in OUTPUT hervorgehoben ist (offensichtlich seltsam für union), annehmen, dass der "freundliche" Compiler die Änderung in __int nach ViewArray (das nur .b bedient) nicht gesehen hat und den letzten bekannten Wert für .v = 0 (hervorgehoben) aus dem Cache zurückgegeben hat, "ohne sich d. v selbst anzusehen".
Aber hier habe ich nur Vermutungen, weil ich den Compiler selbst nicht gesehen habe, und ich wiederhole, ich habe keine Fehler im Zusammenhang mit diesem Fehler in Ihrem Code gefunden.
Neuer Artikel SQL und MQL5: Arbeiten mit SQLite Datenbank wurde veröffentlicht:
Autor: o_O
Hey Mann, toller Artikel.
Guten Tag!
Ich erhalte 2 Warnungen, wenn ich das Skript ausführe:
2017.09.26 07:39:35.569 SQLite3Test 'C:\Users\Roman\AppData\Roaming\MetaQuotes\Terminal\MQL5\Libraries\sqlite3_32.dll' ist keine 64-Bit-Version
Beide Bibliotheken 32 und 64 waren im Archiv. Ich habe Win7 64. Ich verstehe das nicht - was muss ich tun?
Ich erhalte 2 Warnungen, wenn ich das Skript ausführe:
2017.09.26 07:39:35.569 SQLite3Test 'C:\Users\Roman\AppData\Roaming\MetaQuotes\Terminal\MQL5\Libraries\sqlite3_32.dll' ist keine 64-bit Version
2017.09.26 07:39:35.602 SQLite3Test (GAZP,H1) Cannot load 'C:\Users\Roman\AppData\Roaming\MetaQuotes\Terminal\MQL5\Libraries\sqlite3_32.dll' [193]
Beide Bibliotheken 32 und 64 waren im Archiv. Ich habe Win7 64. Ich verstehe das nicht - was muss ich tun?
nichts
Das ist die Reaktion von MT auf den Import, aber der Code funktioniert weiterhin.
Es gibt einen Fix für die PrintTable-Funktion im Anhang.
Neuer Artikel SQL und MQL5: Arbeiten mit der SQLite Datenbank wurde veröffentlicht:
Autor: o_O
Haben Sie eine 32-Bit-Version?
Das Problem ist, dass ich viele 32-Bit-Kunden habe...
Hallo.
Wenn ich SQLite3Test.mq5 ausführe, erhalte ich Fehler 14 (SQLITE_CANTOPEN). Was mache ich falsch?
Hallo.
Wenn ich SQLite3Test.mq5 ausführe, erhalte ich Fehler 14 (SQLITE_CANTOPEN).
Was mache ich falsch?
kein Debugging oder Protokollierung der Fehlerstelle
keine Fehlersuche durchführen oder den Fehlerort nicht in das Protokoll drucken
1. Ich führe das Skript aus dem Archiv aus, "wie es ist".
2. Debuggen "Bei echten Daten". Ich gebe die erste Funktion ein:
3. Ich komme zu dieser Stelle in der Datei SQLite3Base.mqh:
4. Nach dem Ausführen der Zeile
int res=::sqlite3_open(file,m_db);erhalte ich res gleich 14. Dies ist das Ende des Skripts.
Nach dem Text des Artikels zu urteilen, sollte es aber so sein
"В результате работы появится файл базы данных в папке установки терминала MetaTrader 5."Was kann der Grund dafür sein? Wo muss ich suchen?
Ich habe das heruntergeladene Skript überprüft
Beim ersten Mal hat alles korrekt funktioniert
Serhii Shevchuk:
In welche Richtung soll ich schauen?
hier anfangen
Überprüft das heruntergeladene Skript
Ich habe es auch überprüft:
Immer noch Fehler 14.
Ich weiß, dass es schwierig ist, von Ihnen Hilfe zu bekommen. Ich werde es einfach selbst herausfinden müssen. Bedenken Sie nur, dass Ihr Beispiel nicht überall funktioniert. Ich weiß nicht, warum.