Hai provato altre classi? Non funzionano anche loro?
Ne ho guardato un po', ma non tutto. Provo secondo necessità (scrivendo un programma). a volte metto dei tappi (dove non funziona), fino al momento giusto.
Ho guardato la classe Canvas, e i metodi della classe usano le funzioni di MQL5. Questo è molto probabilmente il motivo del problema. Per esempio, il metodo?
usa TextSetFont di MQL5, che probabilmente non è stato ancora implementato in MQL4. Tuttavia, è già presente nelle descrizioni della Guida. Forse si sono dimenticati di implementarlo.
A proposito, gli sviluppatori hanno fatto davvero un ottimo lavoro con l'evidenziazione della sintassi nell'editor. È molto utile distinguere i metodi di classe dalle funzioni del linguaggio.
Ne sono consapevole. Tutto funzionava già lì 5-6 builds fa, incluso TextSetFont() per esempio questo codice funzionava bene:
Label = new CCanvas();
Label.CreateBitmapLabel("MyLabel",150,150,250,150,//COLOR_FORMAT_ARGB_RAW);
COLOR_FORMAT_ARGB_NORMALIZE);
Label.FillRectangle(5,5,220,120,ColorToARGB(BkColor,220));
//0xffbbbb66);if(!Label.FontSet("Comic Sans MS",28,FW_BOLD)) Print(GetLastError());
Label.TextOut(15,5,"Превед Label",ColorToARGB(0x004400,255));
if(!Label.FontSet("Comic Sans MS",32,FONT_ITALIC|FONT_UNDERLINE|FW_LIGHT,-100)) Print(GetLastError());
Label.TextOut(15,35,"Превед Label",ColorToARGB(0x004400,255));
Label.Update();
solo più tardi disabilitato // si spera temporaneamente :)
quando ha funzionato - ha funzionato a regola d'arte.
MetaDriver: Ne ho guardato un po', ma non tutto. lo provo a seconda delle necessità (sto scrivendo un programma). a volte metto dei tappi (dove non funziona), finché non arrivano tempi migliori.
Ne sono consapevole. tutto ha già funzionato lì 5-6 builds fa, incluso TextSetFont() e.g. questo codice ha funzionato bene:
è stato solo disabilitato più tardi // speriamo temporaneamente :)
quando ha funzionato - ha funzionato secondo le specifiche.
È molto strano in quel momento. Non ha senso disabilitarlo se è stato abilitato fin dall'inizio per estendere la funzionalità. In generale, sarebbe bello avere una build aggiornata con una lista di cambiamenti e bug risolti. Avremo più problemi con l'analisi del nuovo МТ4.
A proposito, c'è un errore. Il nuovo operatore non restituisce un puntatore alla memoria allocata come in C++. Fate così:
CCanvas Label;// = new CCanvas();
Label.CreateBitmapLabel("MyLabel",150,150,250,150,//COLOR_FORMAT_ARGB_RAW);
COLOR_FORMAT_ARGB_NORMALIZE);
Label.FillRectangle(5,5,220,120,ColorToARGB(BkColor,220));
//0xffbbbb66);if(!Label.FontSet("Comic Sans MS",28,FW_BOLD)) Print(GetLastError());
Label.TextOut(15,5,"Превед Label",ColorToARGB(0x004400,255));
if(!Label.FontSet("Comic Sans MS",32,FONT_ITALIC|FONT_UNDERLINE|FW_LIGHT,-100)) Print(GetLastError());
Label.TextOut(15,35,"Превед Label",ColorToARGB(0x004400,255));
Label.Update();
o come questo:
CCanvas* Label = new CCanvas();
Label.CreateBitmapLabel("MyLabel",150,150,250,150,//COLOR_FORMAT_ARGB_RAW);
COLOR_FORMAT_ARGB_NORMALIZE);
Label.FillRectangle(5,5,220,120,ColorToARGB(BkColor,220));
//0xffbbbb66);if(!Label.FontSet("Comic Sans MS",28,FW_BOLD)) Print(GetLastError());
Label.TextOut(15,5,"Превед Label",ColorToARGB(0x004400,255));
if(!Label.FontSet("Comic Sans MS",32,FONT_ITALIC|FONT_UNDERLINE|FW_LIGHT,-100)) Print(GetLastError());
Label.TextOut(15,35,"Превед Label",ColorToARGB(0x004400,255));
Label.Update();
delete Label;
Ho il mio nickname e la mia password nella scheda Comunità delle mie impostazioni. Seleziono il file necessario in Editor Navigator, poi seleziono MQL5 Storage --> Add, e il nome del file in Navigator è segnato con un "+" blu. Sembra essere aggiunto. Anche i file che sono stati aggiunti in precedenza, ma che sono stati cambiati in seguito, sono contrassegnati con "!" in un cerchio rosso. Sembra esserci una differenza. Ma non riesco a trovare nessun file aggiunto nel repository stesso:
Cosa c'è che non va?
Sì (l'archiviazione) funziona, non necessariamente al 100% (forse non hanno ancora capito come salvare le versioni), ma funziona.
Basta cliccare sull'ellissi ... - Ho questa cartella iniziale con 2 cartelle in essa(progetto e personale).
Allora è molto strano. Perché spegnerlo se è stato attivato fin dall'inizio per estendere la funzionalità.
Ha senso se il codice delle carte viene riformato radicalmente. E probabilmente lo è (dato che ci sono molte nuove funzionalità da eseguire).
In generale, sarebbe davvero bello avere una build aggiornata con una lista di modifiche e bug risolti. Ci sarà meno da strisciare per studiare il nuovo МТ4.
Sarebbe. Sarebbe in una situazione ideale. Realisticamente, è piuttosto dispendioso in termini di risorse. Per raccogliere tutte le modifiche in una lista... con persone diverse che lavorano su moduli diversi...
A proposito, c'è un errore. Il nuovo operatore non restituisce un puntatore alla memoria allocata come in C++. Fate così:
No, non c'è nessun errore, il puntatore è dichiarato sopra il codice (ho inviato solo un frammento). Grazie per aver cercato di aiutare.
MetaDriver: Ha senso se il codice delle carte viene radicalmente riformato. E probabilmente lo è (dato che ci sono molte nuove funzionalità da lanciare).
Lo è. Idealmente. Realisticamente è abbastanza intensivo in termini di risorse. Mettere tutti i cambiamenti in una lista... con persone diverse che lavorano su moduli diversi...
No, non c'è nessun errore, il puntatore è dichiarato sopra il codice (ho inviato solo un frammento). Grazie per aver cercato di aiutare.
Che il puntatore sia dichiarato sopra il codice è chiaro, anche se non del tutto :) comunque ho eseguito il tuo codice con le mie correzioni, entrambe le mie varianti funzionano. A proposito, non ho ancora capito da cosa sono stati guidati gli sviluppatori nel cambiare il modo in cui funziona il nuovo operatore, a differenza del C++. Non capisco perché un puntatore a un handle sia meglio di un puntatore a un indirizzo in memoria.
Hai provato altre classi? Non funzionano anche loro?
Ho guardato la classe Canvas, e i metodi della classe usano le funzioni di MQL5. Questo è molto probabilmente il motivo del problema. Per esempio, il metodo?
usa TextSetFont di MQL5, che probabilmente non è stato ancora implementato in MQL4. Tuttavia, è già presente nelle descrizioni della Guida. Forse si sono dimenticati di implementarlo.
A proposito, gli sviluppatori hanno fatto davvero un ottimo lavoro con l'evidenziazione della sintassi nell'editor. È molto utile distinguere i metodi di classe dalle funzioni del linguaggio.
Ne sono consapevole. Tutto funzionava già lì 5-6 builds fa, incluso TextSetFont() per esempio questo codice funzionava bene:
solo più tardi disabilitato // si spera temporaneamente :)
quando ha funzionato - ha funzionato a regola d'arte.
Ne ho guardato un po', ma non tutto. lo provo a seconda delle necessità (sto scrivendo un programma). a volte metto dei tappi (dove non funziona), finché non arrivano tempi migliori.
Ne sono consapevole. tutto ha già funzionato lì 5-6 builds fa, incluso TextSetFont() e.g. questo codice ha funzionato bene:
è stato solo disabilitato più tardi // speriamo temporaneamente :)
quando ha funzionato - ha funzionato secondo le specifiche.
È molto strano in quel momento. Non ha senso disabilitarlo se è stato abilitato fin dall'inizio per estendere la funzionalità. In generale, sarebbe bello avere una build aggiornata con una lista di cambiamenti e bug risolti. Avremo più problemi con l'analisi del nuovo МТ4.
A proposito, c'è un errore. Il nuovo operatore non restituisce un puntatore alla memoria allocata come in C++. Fate così:
o come questo:
e funzionerà. Leggi https://www.mql5.com/ru/docs/basis/types/object_pointers. Anch'io sono inciampato all'inizio, avendo dimenticato il C++.
Ho il mio nickname e la mia password nella scheda Comunità delle mie impostazioni. Seleziono il file necessario in Editor Navigator, poi seleziono MQL5 Storage --> Add, e il nome del file in Navigator è segnato con un "+" blu. Sembra essere aggiunto. Anche i file che sono stati aggiunti in precedenza, ma che sono stati cambiati in seguito, sono contrassegnati con "!" in un cerchio rosso. Sembra esserci una differenza. Ma non riesco a trovare nessun file aggiunto nel repository stesso:
Cosa c'è che non va?
Sì (l'archiviazione) funziona, non necessariamente al 100% (forse non hanno ancora capito come salvare le versioni), ma funziona.
Basta cliccare sull'ellissi ... - Ho questa cartella iniziale con 2 cartelle in essa(progetto e personale).
Sì, funziona (l'archiviazione), non al 100% (forse non l'ho ancora capito per quanto riguarda il salvataggio delle versioni), ma funziona.
Basta cliccare sull'ellissi ... - Ho una cartella iniziale con 2 cartelle in essa (progetto e personale).
Certo che l'ho fatto. Andare al livello precedente.
I tuoi file aggiunti hanno un cerchio verde con un segno di spunta?
dovete prima aggiungere tramite MQL Storeg ==> add, e poi cliccare sul file o sulla cartella da impegnare tramite PCM ==> commit.
vedete un cerchio verde con un segno di spunta nei file aggiunti?
dovete prima aggiungere tramite MQL Storeg ==> add, e poi cliccare sul file o sulla cartella da impegnare tramite PCM ==> commit.
vedete un cerchio verde con un segno di spunta nei file aggiunti?
dovete prima aggiungere tramite MQL Storeg ==> add, e poi cliccare sul file o sulla cartella da impegnare tramite PCM ==> commit.
A proposito, gli sviluppatori hanno fatto un ottimo lavoro in termini di evidenziazione della sintassi nell'editor.
Allora è molto strano. Perché spegnerlo se è stato attivato fin dall'inizio per estendere la funzionalità.
In generale, sarebbe davvero bello avere una build aggiornata con una lista di modifiche e bug risolti. Ci sarà meno da strisciare per studiare il nuovo МТ4.
Sarebbe. Sarebbe in una situazione ideale. Realisticamente, è piuttosto dispendioso in termini di risorse. Per raccogliere tutte le modifiche in una lista... con persone diverse che lavorano su moduli diversi...
A proposito, c'è un errore. Il nuovo operatore non restituisce un puntatore alla memoria allocata come in C++. Fate così:
Ha senso se il codice delle carte viene radicalmente riformato. E probabilmente lo è (dato che ci sono molte nuove funzionalità da lanciare).
Lo è. Idealmente. Realisticamente è abbastanza intensivo in termini di risorse. Mettere tutti i cambiamenti in una lista... con persone diverse che lavorano su moduli diversi...
No, non c'è nessun errore, il puntatore è dichiarato sopra il codice (ho inviato solo un frammento). Grazie per aver cercato di aiutare.