ZeroMemory von String Array mit Länge Null führt in RELEASE zu Zugriffsverletzung - Bug?

Einloggen oder registrieren, um einen Kommentar zu schreiben
Markus
38
Markus  

Hallo,

in der neuesten Version von MT5 (1931) führt folgender Code:

   string agstr[];

   ZeroMemory(agstr);

seit Neuestem NUR im RELEASE zur Zugriffsverletzung (mit der Ausgabe von Assemblercode?) - in der Debugversion nicht.

Das soll vermutlich so nicht sein - Bitte um Behebung. Vielen Dank.

Carl Schreiber
Moderator
9869
Carl Schreiber  

??

Habe gerade in einem Indikator getestet:

int OnInit()  {
   string agstr[] = {"1","1","1","1","1","1","1","1","1"};
   Print(agstr[4]);
   ZeroMemory(agstr);
   Print(agstr[4]);
   return(INIT_FAILED);
}

Keine Fehler durch Compiler, Indi-Start, Debuger.. ?

Otto Pauser
2168
Otto Pauser  
Markus Voltin:

Hallo,

in der neuesten Version von MT5 (1931) führt folgender Code:

   string agstr[];

   ZeroMemory(agstr);

seit Neuestem NUR im RELEASE zur Zugriffsverletzung (mit der Ausgabe von Assemblercode?) - in der Debugversion nicht.

Das soll vermutlich so nicht sein - Bitte um Behebung. Vielen Dank.

Ja das stimmt. im finalen Compilat fliegt der EA raus.

ABER: Ist es nicht unnötig ein leeres Array mit Nullen zu füllen? Was willst denn da füllen?

Aber es stimmt auch, daß das repariert gehört. Ist ein schwer aufzuspürender Fehler!

Christian
3185
Christian  

In der 1930 auch.

@Carl du hast nicht den gleichen Code benutzt.

Entscheident ist ein uninitialisiertes Array noch mal zu löschen.

Carl Schreiber
Moderator
9869
Carl Schreiber  

Hat jemand von Euch eine Meldung im russischen  Forum gemacht?

Sonst mach ich es.

Christian
3185
Christian  
Carl Schreiber:

Hat jemand von Euch eine Meldung im russischen  Forum gemacht?

Sonst mach ich es.

Konnte nichts finden , denn mal los Carl.... :-)

Christian
3185
Christian  

Manchmal frage ich mich ob die MQ Devs keine Unit-Tests einsetzen.

Sowas muss denen doch gleich auffallen.

Einloggen oder registrieren, um einen Kommentar zu schreiben