Il mio approccio. Il nucleo è il motore. - pagina 24

 
Реter Konow:

Giusto.

Il motore che porta la GUI dell'applicazione esegue semplicemente la meccanica dei controlli (pulsanti, campi di input, ecc...).

Pressione di pulsanti, caselle di controllo, inserimento di testo e altre azioni dell'utente, direttamente da sono passati all'applicazione dello sviluppatore.

L'applicazione può trasferire i suoi dati in campi e tabelle.

Tutto è fatto attraverso un semplice file di connessione.

Oh beh, questa è un'altra questione allora.

 
Yuriy Asaulenko:

NET-dll stanno arrivando su MT. Non è più difficile fare una GUI in C-sharp per MT, e con più funzionalità. E poiché in ogni caso tutti gli eventi sono su MT-ticks, allora anche i pulsanti. Beh, l'analisi si avvita, imho, più facile da DLL che da Peter.

In generale, il motore Peter, se qualcuno è utile, è solo Market Sellers, dove DLL nizizzi.

Prima di tutto, stai mentendo quando dici "nessuna difficoltà". Si può facilmente creare una GUI in C#, ma per collegarla a un'applicazione MQL?

Mostratemi un esempio di tale connessione. Questo è almeno una stampella inquietante. Dovete fare tutto attraverso una DLL. Inviare eventi, ricevere eventi...

Quanto sforzo e tempo ci vorrà per sviluppare una connessioneGUI Sharp con un'applicazione MT tramite DLL?

Chi lo farà, di fronte alla semplicità della mia soluzione? Ho già un'interfaccia di connettività. Il problema di connessione è di mezz'ora (se diverse finestre). Tutto è molto semplice. Nessuna DLL.

Quindi questa è un'idea "morente".

 
Реter Konow:

Prima di tutto, stai mentendo quando dici che "non è un grosso problema". Fare una GUI in C# è facile, ma collegarla all'applicazione MQL?

Mostratemi un esempio di tale connessione. Questo è almeno una stampella inquietante. Dovete fare tutto attraverso una DLL. Inviare eventi, ricevere eventi...

Quanto sforzo e tempo ci vorrebbe per sviluppare un'interfaccia GUI Sharp con un'applicazione MT tramite DLL?

Chi lo farà, di fronte alla semplicità della mia soluzione? Ho già un'interfaccia di connettività. Il problema di connessione è di mezz'ora (se ci sono più finestre). Tutto è molto semplice. Nessuna DLL.

Quindi questa è un'idea "morente".

Tutto è uguale. Nessuna complicazione. Non c'è differenza tra la funzione che chiamate, applicazione o DLL. Vedete la complessità nel chiamare le funzioni?

 
Yuriy Asaulenko:

Tutto è uguale. Non c'è nessuna complicazione. Non fa alcuna differenza quale funzione chiamate - l'applicazione o la DLL. Vede difficoltà nel chiamare le funzioni?

No. Si tratta della memoria in cui i valori dei parametri devono essere sincronizzati. La memoria deve essere o in un file o in una memoria condivisa dell'applicazione nella DLL (o da qualche altra parte).

Ma questo non è il punto principale.

IL GENERALE:

Ogni sviluppatore dovrà inventarsi la propria interfaccia per connettersi alla propria GUI su Sharp.

E perché sarebbe necessario quando ho già tutto funzionante?

 
Реter Konow:

No. Si tratta della memoria in cui i valori dei parametri devono essere sincronizzati. La memoria deve essere o in un file o nella memoria condivisa dell'applicazione nella DLL (o da qualche altra parte).

Ma questo non è il punto principale.

IL GENERALE:

Ogni sviluppatore dovrà inventarsi la propria interfaccia per la connessione alla GUI su Sharp.

E perché sarebbe necessario se ho già tutto funzionante?

Stai facendo il drammatico).

 
Yuriy Asaulenko:

Stai facendo il drammatico).

Neanche un po'. Conosco la situazione. Ho fatto un'interfaccia tra un'applicazione MT e un'applicazione Sharpe, tramite una DLL scritta in C++. È una terribile spina nel fianco. Dovete lavorare con Visual Studio e MT allo stesso tempo. Poi per eseguire applicazioni in parallelo.

Ma la cosa principale è che nessuno ha sviluppato un formato di interazione delle parti dell'applicazione. Quindi, ognuno si troverà a lottare da solo.

 
Реter Konow:

Non una goccia. Conosco la situazione. Ho fatto un'interfaccia tra un'applicazione MT e un'applicazione Sharpe, tramite una DLL scritta in C++. È una terribile spina nel fianco. Dovete lavorare con Visual Studio e MT allo stesso tempo. Poi per eseguire applicazioni in parallelo.

Ma la cosa principale è che nessuno ha sviluppato un formato di interazione delle parti dell'applicazione. Quindi, ognuno si troverà a lottare da solo.

La DLL è uno strumento standard di Windows. L'interoperabilità delle DLL è stata sviluppata e utilizzata fin dai tempi del DOS. Non c'è nessun problema.

 
Yuriy Asaulenko:

La DLL è uno strumento standard di Windows. L'interoperabilità con la DLL è stata sviluppata e ampiamente utilizzata per molto tempo, fin dai tempi del DOS. Non c'è nessun problema.

L'interazione di Sharp con la DLL è stata sviluppata. E l'interazione di un'applicazione ICL con Sharp tramite DLL è una seccatura personale per il programmatore.

Ha bisogno di organizzare la memoria condivisa e fare le sue chiamate di funzione in base ai flag di lettura.

Di conseguenza, ha bisogno di accedere all'infinito alla memoria condivisa che si trova nella DLL o nel file.Dopo tutto, non c'è nessun callback da Sharp via DLL a MT.

 
Реter Konow:

L'interazione con la DLL sul lato Sharp viene elaborata. E l'interazione dell'applicazione MKL con Sharpe via DLL, è una seccatura personale per il programmatore.

Ha bisogno di organizzare la memoria condivisa e fare le sue chiamate di funzione in base ai flag di lettura.

Di conseguenza, ha bisogno di accedere all'infinito alla memoria condivisa che si trova nella DLL o nel file.Dopo tutto, non c'è nessun callback da Sharp via DLL a MT.

Non hai nemmeno un callback in MT. Tutto è fatto da eventi predefiniti in MT, che una volta per tutte.

Invierete ancora eventi del terminale alla DLL, e non importa dove li elaborate, in MT o nella DLL.

 

Anche se si immagina che il controllo costante dei messaggi di Sharp da parte dell'applicazione ICL non sia una seccatura, sviluppare un formato di interazione è un compito molto voluminoso.

Questo compito include quanto segue:

1. Arrivare a un'organizzazione della memoria condivisa.

2. Attuare l'interazione delle tre parti.

3. Test sincrono dei tre lati (Sharp, DLL, applicazione MT).

Richiede molto tempo.


Nel mio caso, l'utente riceve il file e lo compila. E la connessione funziona.