Errori, bug, domande - pagina 1422

 

Mihail Matkovskij, 2015.11.01 12:55

Non posso aggiornare il terminale alla build 902, prima si aggiornava, ma ora non posso farlo per 3 giorni. Versione: 4; build: 890; bit rate: 32. Quale può essere la ragione?

Cosa esattamente non funziona? Cosa fai e cosa ottieni? Che tipo di errori?
 

Errore durante l'esecuzione

class A { public:
        virtual bool    g() { Print( __FUNCTION__ ); return true; }
        virtual bool    f() { return g(); }
};
class B : public A { public:
        virtual bool    g() { Print( __FUNCTION__ ); return true; }
};
void OnStart()
{
        int i = 0;
        for ( B b; b.f(); i++ )
                if ( i++ >= 3 )
                        break;
}                

Risultato: e dovrebbe essere:

 
Karputov Vladimir:
Cosa esattamente non funziona? Cosa stai facendo e cosa ottieni? Quali sono gli errori?

Dato che il registro è confidenziale, te lo mando in un messaggio privato.

 
A100:

Perdita di memoria.


A100, sei proprio un acchiappa insetti!!! Continuate così! Tanto di cappello :)

 
Stanislav Korotky:
Questo è MT4. L'ho provato negli ultimi giorni. Edificio 902/32.

Ho provato il tuo esempio su MT4/891/32 con diversi compilatori (build: 1174, 1210)

O l'aggiornamento... o rollback.

 
sigma7i:

A100, sei proprio un acchiappa insetti!!! Continuate così! Tanto di cappello :)

Così, si può vedere subito chi usa effettivamente le capacità OOP e chi è un maestro di ragionamento su questo argomento (c'è un intero ramo di maestri).

Forum sul trading, sistemi di trading automatico e strategie di trading di prova

AOP per carità....

George Merts, 2015.10.26 19:58

Solo che non sai come cucinarlo.

OOP è molto vantaggioso sia per la strutturazione dei programmi che per la capacità di supportarli e modificarli.

Soprattutto perché dici che "usi le classi come contenitori per le funzioni" - bene, metti i dati che lavorano con quelle funzioni in quel contenitore - ed ecco fatto, OOP in azione.


 
A100:

L'unico modo per sbarazzarsi di questo errore è sostituire Optimize=1 in metaeditor.ini con 0

Non ho davvero bisogno di sbarazzarmene, ma forse gli sviluppatori sì. Dopo tutto, tali errori non dovrebbero nemmeno verificarsi durante la compilazione se il compilatore funziona bene. Ecco perché vi ho dato un esempio esatto di codice quando si verifica.
 
Ilya Malev:
Ecco perché ho dato l'esempio esatto di codice quando appare.
Sulla build 1210/32 non può essere ripetuto
Giusto?
void OnStart()
{
        ENUM_TIMEFRAMES tf=NULL;
        if(tf==NULL)   tf=Period();
}
 
A100:

Ho provato il tuo esempio su MT4/891/32 con diversi compilatori (build: 1174, 1210)

O l'aggiornamento... o rollback.

No. Service Desk dice sempre "aggiorna all'ultima build". (il che naturalmente dovrebbe essere corretto, se solo sistemassero i bug). Ho rilevato il problema sulla build 900 e poi ho aggiornato alla 902. Apparentemente, il problema è sorto a causa dell'aggiunta di modelli di classe. Mentre i modelli "balleranno" per un po', penso che sia meglio non usarli affatto.

 
A100:
Non c'è nessuna ripetizione sulla build 1210\32
È giusto?