Errori, bug, domande - pagina 1349

 
Vladimir Pastushak:

Qualsiasi lebella può essere collegata alla data e al prezzo e qualsiasi oggetto collegato alla data e al prezzo può essere collegato alle coordinate X e Y.

Tutte le classi e le librerie nei terminali sono scritte come esempi e mostrano le possibilità del linguaggio, se hai bisogno di qualcos'altro scrivi solo quello che ti serve...

La tua domanda si riferisce a un altro thread su questo forum

Probabilmente non vuoi capire - ho fatto un suggerimento come a mio parere più conveniente, e il fatto che qualcuno qui ha iniziato a suggerire come avvitare qualcosa con una stampella, l'argomento non è davvero rilevante ...

E sulle classi di libreria standard non direi così - ovviamente non sono per esempio e non per dimostrare le possibilità del linguaggio, altrimenti non sarebbero aggiornate. E quelle interfacce di cui ho bisogno le ho già implementate usando la mia libreria di classi, il che è un peccato. Lo sviluppatore non ha alcun desiderio di cambiare qualcosa su richiesta degli utenti, cioè la libreria di classi standard non è davvero STL in C++ e la comunità non viene creata e migliorata, e come sarebbe bello se fossero introdotte normali innovazioni in questa libreria. Per esempio c'è una buona implementazione dei pulsanti trasparenti https://www.mql5.com/ru/forum/41914 ed è una funzionalità davvero utile, e scritta usando l'interfaccia standard della libreria standard. Allo stesso modo nelle funzioni, lo sviluppatore ha introdotto l'overloading in alcune funzioni, quindi perché non sovraccaricare le funzioni sul binding degli oggetti? Dopotutto, una funzione funzionerà più velocemente che mettendo un wrapper su di essa.

Библиотеки: Класс СBmpButtonTransparent
Библиотеки: Класс СBmpButtonTransparent
  • www.mql5.com
Класс кнопки позволяет обрабатывать наведение мышки и нажатие на кнопку любой произвольно заданной формы. - - Категория: статьи и техническая библиотека по автоматическому трейдингу
 

Admins, fate qualcosa con i finti amici che chiedono continuamente amici! Perché queste richieste vengono periodicamente da coloro che sono già stati respinti!

Sono stufo delle loro pagine pubblicitarie! Forse dovremmo aggiungere 1 pulsante in più come "ban" o "reclamo", ai pulsanti che hanno già "accetta" e "rifiuta"?

 

C'è un altro bug che vedo da molto tempo, ma non riesco a capirne la ragione.

L'essenza del bug riguarda OBJPROP_TOOLTIP quando si crea un oggetto, come i pulsanti quando si specifica OBJPROP_TOOLTIP a volte semplicemente non è scritto...

Per esempio creo 10-15 pulsanti, 10 di loro ottengono OBJPROP_TOOLTIP, ma 5 no ... non so cosa sia ...

 
Vladimir Pastushak:

C'è un altro bug che vedo da molto tempo, ma non riesco a capirne la ragione.

L'essenza del bug riguarda OBJPROP_TOOLTIP quando si crea un oggetto come un pulsante quando si specifica OBJPROP_TOOLTIP succede che OBJPROP_TOOLTIP semplicemente non è scritto...

Per esempio creo 10-15 pulsanti, 10 hanno OBJPROP_TOOLTIP elencato e 5 no ... non riesco a capirlo ...

Ho scoperto quando questo bug accade!!!

Se il nome dell'oggetto contiene un frammento di testo "Com" OBJPROP_TOOLTIP non funziona .....

 
Aiuto: non capisco perché e come il consulente non funziona
 
MSI357 Михаил:
Aiuto: non capisco perché e come l'EA non funziona

Per cominciare, prescriva

#property strict
, correggere tutti gli avvertimenti. E poi descrivere in modo più dettagliato ciò che non funziona.
 
MSI357 Михаил:
Aiuto: non capisco perché o come l'EA non funziona
Il codice è scritto nel vecchio stile, cioè non ha uno stretto controllo degli errori, per questo è necessario prescrivere all'inizio del codice:
#property strict

È anche necessario allineare tutte le funzioni di gestione degli eventi, vedere l'aiuto in questa sezione e guardare il codice - sostituire tutte le funzioni obsolete con quelle nuove.

È auspicabile sostituire le variabili globali nel codice EA e usate solo nelle funzioni utente con variabili locali. Questo passo eviterà molti errori "infantili" e il codice sarà più facile da leggere.

È obbligatorio rivedere i cambiamenti nelle priorità delle operazioni (il file di aiuto corrispondente), alcune operazioni nel vecchio stile hanno cambiato le loro priorità, rispettivamente, potrebbe essere necessario cambiare le condizioni nella logica.

Dopo di che, se ci sono errori, chiedete con una descrizione dettagliata di ciò che non funziona.

 

Domanda sull'argomento. Il ricompilatore da MT4 a MT5 e viceversa è già stato tolto e quali sono i risultati?

Da un consulente per trasferirsi ad un altro terminale.

 
Vladimir Pastushak:

Ho capito quando succede questo bug !!!

Se il nome dell'oggetto contiene il frammento di testo "Com", OBJPROP_TOOLTIP non funziona .....

Com ! =Com

tutto funziona

void OnStart()
{
        const string object_name = "Сom";
        ::ObjectCreate( 0, object_name, OBJ_BUTTON, 0, 0, 0 );
                          ::ObjectSetString( 0, object_name, OBJPROP_TOOLTIP, object_name );
        const string tt = ::ObjectGetString( 0, object_name, OBJPROP_TOOLTIP );
        Print( "tt=", tt );
}
 
A100:

Com != Com

tutto funziona

Nessun errore con il testo in russo, il tickst russo è incandescente in rosso...

Tu crei un oggetto in modo diverso per me, 20 oggetti...

Perché metti :: davanti alla funzione?