Discussione su "Come scrivere una DLL per MQL5 e scambiare dati in 10 minuti". - pagina 11

 
Seric29:

Sì, l'ho visto anche senza, non funziona per me, perché non mi mostri come duplicarlo?

https://github.com/Roffild/RoffildLibrary/blob/master/Libraries/Roffild/PythonDLL/public.h

https://github.com/Roffild/RoffildLibrary/blob/c38ba6babd0935704fd30abeb58b953e33ede3e9/Include/Roffild/PythonDLL.mqh#L16

Ho usato questo approccio per non duplicare il codice in diversi file.

 
Roffild:

Non è qualcosa che posso fare.

 
Quali librerie devo includere in c++ per passare date e stringhe alla dll, e come posso lavorare con i colori in c++?
 
Seric29:
Quali librerie devo includere in c++ per passare date e stringhe a dll, e come posso lavorare con i colori in c++?

Non ce n'è bisogno. __time64_t (datetime) e wchar_t (stringa) sono tipi standard. L'analogo del colore è COLORREF.

 
Ihor Herasko:

Non ce n'è bisogno. __time64_t (datetime) e wchar_t (stringa) sono tipi standard. L'analogo del colore è COLORREF.

Non potete mostrarmi come viene dichiarata questa variabile e come sono i suoi valori usando le vostre raccomandazioni? Per le date deve essere__time32_t perché sto usando 32. Mostratemi come dichiarare__time32_t, come dichiarare la variabile che memorizza la data e come appare e lo stesso per i colori. Con le stringhe, faccio così

#include<stringa>

usando std::string;

stringa l="123456 ";

Per le date ha consigliato #include<chrono>, ma non funziona, ma per quanto riguarda i colori sono stati dati consigli ancora più complicati anche scrivere su di esso non sarà.

 
Ah, sì?! ... È molto più duro di un tronco. Sono tre giorni che mi occupo della stessa cosa; ho cambiato tutto, l'ho rinominato, l'ho riorganizzato, l'ho stravolto in modo che anche le cimici nel mio spazio cerebrale hanno smesso di ansimare e si sono rassegnate all'inutilità della loro impresa, hanno sputato su tutto e sono andate dai miei vicini, prendendo un congedo; essendo arrivate alla conclusione inequivocabile che c'è qualcosa di più fresco del loro fugace oscurantismo: suonando il salterio, danzando sulla balalaika con tamburelli e timpani in si bemolle maggiore; è chiaramente una specie di canto alieno... ?! Ed è stato perché non ho spuntato la casella nelleimpostazioni del terminale: Strumenti/Impostazioni/Avvisi/Consenti di importare DLL. Oh, cavolo... . E per finire non riesco a capire: forse ho fatto tutto bene la maggior parte delle volte... Potrei ripetere l'intero processo, ma non riesco a ricordare cosa ho fatto e come l'ho fatto... . C'è di peggio... . Qui tutto funziona e funziona su diversi studi. L'unica cosa che non capisco è la connessione con il linguaggio "C" e l'interazione con le strutture e le classi, cioè, non potranno essere messe in esso, ma mi è appena venuto in mente di provare a scrivere "CPP" invece di "C" e provare... Credo che dovrò scrivere tutto da qualche parte lungo la strada. Buona lezione. Buona fortuna a tutti. Provato, non funziona con questo "CPP", ma l'interazione della classe all'interno della DLL stessa fa funzionare tutto.
Настройки платформы - Начало работы - MetaTrader 5
Настройки платформы - Начало работы - MetaTrader 5
  • www.metatrader5.com
Торговая платформа обладает множеством настроек, что позволяет организовать работу в ней так, как это удобно именно вам. Выполните команду " Настройки" меню "Сервис" или нажмите "Ctrl+O". Графики — общая настройка отображения ценовых графиков, а также настройка параметров управления объектами: выделение объектов после их создания, немедленная...
 
P.S: cancello i file errati in una volta sola e non ricordo nemmeno quasi nessun errore, (Questo è quando vado a fare una DLL da solo), ma non sempre, per qualche ragione?!.... E non c'è modo di prenderlo. È legato ad alcuni attributi e a Windows Kits con informazioni di libreria winnt.h naturalmente può essere trovato al volo se si traduce il tuo browser alla ricerca inglese, ma ieri ho provato una piccola ricerca e qualcosa senza successo. Personalmente credo che da qualche parte nelle impostazioni del progetto di barare, o fare qualcosa di casuale, e poi linker va pazzo con i suoi movimenti. In generale, questo errore per me è ancora al limite dell'oscurità ..., tuttavia, c'è un'opzione, ora rapidamente fare mura che produrrebbe questo errore e guardare il tuo codice e analizzare ... . Molto probabilmente lo farò. Ma non subito, ma gradualmente, o il mio cervello si brucerà completamente e non rimarrà molto. Buona fortuna a tutti. P.S.: mi dimentico di Microsoft Docs, e ha tutto, ora ho dato un'occhiata e già trovato un interessante, dice che da qualche parte non ho aggiunto l'espressione #define. Oh, mi sono dimenticato di Docs. Fanculo a quel google... .
 
Come implementare la variabile datetame e colore nella libreria dll C++? Come chiamare la funzione Print() in dll con cosa sostituirla, perché c++ non ce l'ha?
 
Ihor Herasko:

Non ce n'è bisogno. __time64_t (datetime) e wchar_t (stringa) sono tipi standard. L'analogo del colore è COLORREF.


Allora, vediamo come funziona, va bene?

 
Seric29:
Come implementare la variabile di tipo datetame e colore nella libreria c++ dll? Come chiamare la funzione Print() in dll con cosa sostituirla, perché c++ non ce l'ha?

Print() è una funzione disponibile solo in mql4 e mql5. Non può essere sostituito direttamente, perché il dispositivo di uscita per esso è un file di log del terminale. Ma può essere chiamato indirettamente, se si invia un comando corrispondente all'Expert Advisor (indicatore, script), al quale la dll è collegata. Dipende da come viene implementato lo scambio di dati tra dll e l'Expert Advisor.

Inoltre, se c'è un compito di stampare qualcosa da qualche parte, non necessariamente nel log del terminale, ci sono molte possibilità per questo: file, stampante, display alla fine.

Motivazione: