Mein Ansatz. Der Kern ist der Motor. - Seite 24

 
Реter Konow:

Richtig.

Die Engine, die die Anwendungs-GUI trägt, führt lediglich die Mechanik der Steuerelemente (Schaltflächen, Eingabefelder usw.) aus.

Tastenbetätigungen, Kontrollkästchen, Texteingaben und andere Benutzeraktionen, direkt von werden an die Anwendung des Entwicklers weitergegeben.

Die Anwendung kann ihre Daten in Felder und Tabellen übertragen.

Alles wird über eine einfache Verbindungsdatei abgewickelt.

Nun gut, das ist eine andere Sache.

 
Yuriy Asaulenko:

NET-dlls kommen jetzt zu MT. Es ist nicht mehr schwierig, eine grafische Benutzeroberfläche in C-Sharp für MT zu erstellen, und das mit mehr Funktionalität. Und da ohnehin alle Ereignisse auf MT-Ticks basieren, müssen auch die Schaltflächen entsprechend angepasst werden. Nun, Analyse-Schraube, imho, leichter zu DLL als zu Peter.

Im Allgemeinen, Motor Peter, wenn jemand nützlich, es wird nur Market-Verkäufer, wo DLL nizizzi.

Zunächst einmal lügen Sie, wenn Sie sagen, dass es "überhaupt keine Schwierigkeiten" gibt. Sie können leicht ein GUI in C# erstellen, aber um es mit einer MQL-Anwendung zu verbinden?

Zeigen Sie mir ein Beispiel für einen solchen Zusammenhang. Dies ist zumindest eine unheimliche Krücke. Sie müssen alles über eine DLL erledigen. Ereignisse senden, Ereignisse empfangen...

Wie hoch ist der Aufwand für die Entwicklung einerSharp-GUI-Verbindung mit einer MT-Anwendung über DLL?

Wer wird es tun, angesichts der Einfachheit meiner Lösung? Ich habe bereits eine Konnektivitätsschnittstelle. Das Verbindungsproblem dauert eine halbe Stunde (bei mehreren Fenstern). Alles ist sehr einfach. Keine DLL.

Es handelt sich also um eine "sterbende" Idee.

 
Реter Konow:

Zunächst einmal lügen Sie, wenn Sie sagen, dass "es keine große Sache ist". Um eine GUI in C# zu machen ist einfach, aber um es zu MQL-Anwendung zu verbinden?

Zeigen Sie mir ein Beispiel für einen solchen Zusammenhang. Dies ist zumindest eine unheimliche Krücke. Sie müssen alles über eine DLL erledigen. Ereignisse senden, Ereignisse empfangen...

Wie viel Mühe und Zeit würde es kosten, eineSharp-GUI-Schnittstelle mit einer MT-Anwendung OHNE die DLL zu entwickeln?

Wer wird es tun, angesichts der Einfachheit meiner Lösung? Ich habe bereits eine Verbindungsschnittstelle. Das Verbindungsproblem dauert eine halbe Stunde (bei mehreren Fenstern). Alles ist sehr einfach. Keine DLL.

Dies ist also eine "sterbende" Idee.

Alles ist gleich geblieben. Keinerlei Komplikationen. Es macht keinen Unterschied, welche Funktion Sie aufrufen, Anwendung oder DLL. Sehen Sie die Komplexität beim Aufrufen von Funktionen?

 
Yuriy Asaulenko:

Alles ist gleich geblieben. Es gibt keine Komplikationen. Es macht keinen Unterschied, welche Funktion Sie aufrufen - die Anwendung oder die DLL. Sehen Sie Schwierigkeiten beim Aufrufen von Funktionen?

Nein. Es geht um den Speicher, in dem die Parameterwerte synchronisiert werden müssen. Der Speicher muss sich entweder in einer Datei oder in einem gemeinsam genutzten Anwendungsspeicher in der DLL (oder irgendwo anders) befinden.

Aber das ist nicht der springende Punkt.

DER ALLGEMEINE:

Jeder Entwickler muss sich seine eigene Schnittstelle für die Verbindung mit der GUI auf Sharp ausdenken.

Und warum sollte das notwendig sein, wenn bereits alles funktioniert?

 
Реter Konow:

Nein. Es geht um den Speicher, in dem die Parameterwerte synchronisiert werden sollen. Der Speicher muss sich entweder in einer Datei oder im gemeinsam genutzten Anwendungsspeicher in der DLL (oder irgendwo anders) befinden.

Aber das ist nicht der springende Punkt.

DER ALLGEMEINE:

Jeder Entwickler muss sich seine eigene Schnittstelle für die Verbindung mit der GUI auf Sharp ausdenken.

Und warum sollte das notwendig sein, wenn bereits alles funktioniert?

Du bist dramatisch).

 
Yuriy Asaulenko:

Du bist dramatisch).

Nicht ein bisschen. Ich kenne die Situation. Ich habe eine Schnittstelle zwischen einer MT-Anwendung und einer Sharpe-Anwendung über eine in C++ geschriebene DLL eingerichtet. Schrecklich nervtötend. Sie müssen mit Visual Studio und MT zur gleichen Zeit arbeiten. Dann können Sie Anwendungen parallel laufen lassen.

Aber das Wichtigste ist, dass niemand ein Format für die Interaktion von Anwendungsteilen entwickelt hat. Daher wird sich jeder selbst quälen müssen.

 
Реter Konow:

Nicht ein Tropfen. Ich kenne die Situation. Ich habe eine Schnittstelle zwischen einer MT-Anwendung und einer Sharpe-Anwendung über eine in C++ geschriebene DLL eingerichtet. Das ist eine furchtbare Qual. Sie müssen mit Visual Studio und MT zur gleichen Zeit arbeiten. Dann können Sie Anwendungen parallel laufen lassen.

Aber das Wichtigste ist, dass niemand ein Format für die Interaktion von Anwendungsteilen entwickelt hat. Daher wird jeder auf sich allein gestellt sein.

Die DLL ist ein Standardwerkzeug von Windows. Die Interoperabilität der DLLs wurde bereits zu DOS-Zeiten entwickelt und genutzt. Da gibt es überhaupt kein Problem.

 
Yuriy Asaulenko:

Die DLL ist ein Standardwerkzeug von Windows. Die Interoperabilität mit der DLL wurde seit den DOS-Tagen entwickelt und ist seit langem weit verbreitet. Da gibt es überhaupt kein Problem.

Die Interaktion von Sharp mit der DLL wurde entwickelt. Und die Interaktion einer ICL-Anwendung mit Sharp via DLL ist für den Programmierer ein persönliches Ärgernis.

Er muss den gemeinsamen Speicher organisieren und seine Funktionsaufrufe auf der Grundlage von Lesekennzeichen tätigen.

Folglich muss er endlos auf den gemeinsamen Speicher zugreifen, der sich in der DLL oder in der Datei befindet.Schließlich gibt es keinen Callback von Sharp über DLL zu MT.

 
Реter Konow:

Das Zusammenspiel mit der DLL auf der Sharp-Seite ist ausgearbeitet. Und die Interaktion der MKL-Anwendung mit Sharpe über die DLL ist für den Programmierer ein persönliches Ärgernis.

Er muss den gemeinsamen Speicher organisieren und seine Funktionsaufrufe auf der Grundlage von Lesekennzeichen tätigen.

Folglich muss er endlos auf den gemeinsamen Speicher zugreifen, der sich in der DLL oder in der Datei befindet.Schließlich gibt es keinen Callback von Sharp über die DLL zu MT.

Sie haben auch keinen Rückruf in MT. Alles geschieht über vordefinierte Ereignisse in MT, die ein für alle Mal festgelegt sind.

Sie werden weiterhin Terminalereignisse an die DLL senden, und es spielt keine Rolle, wo Sie sie verarbeiten, in MT oder in der DLL.

 

Selbst wenn man sich vorstellt, dass die ständige Überprüfung der Nachrichten von Sharp durch die ICL-Anwendung nicht lästig ist, ist die Entwicklung eines Interaktionsformats eine sehr umfangreiche Aufgabe.

Diese Aufgabe umfasst Folgendes:

1. Entwicklung einer gemeinsamen Speicherorganisation.

2. Umsetzung der Interaktion zwischen den drei Parteien.

3. Synchrone Prüfung der drei Seiten (Sharp, DLL, MT-Anwendung).

Sehr zeitaufwendig.


In meinem Fall erhält der Benutzer die Datei und füllt sie aus. Und die Verbindung funktioniert.

Grund der Beschwerde: