Discussione sull’articolo "Esposizione del codice C# in MQL5 utilizzando esportazioni non gestite"

 

Il nuovo articolo Esposizione del codice C# in MQL5 utilizzando esportazioni non gestite è stato pubblicato:

In questo articolo ho presentato diversi metodi di interazione tra il codice MQL5 e il codice gestito C#. Ho anche fornito diversi esempi su come eseguire il marshalling di strutture MQL5 contro C# e come richiamare le funzioni DLL esportate negli script MQL5. Credo che gli esempi forniti possano servire come base per ricerche future sulla scrittura di DLL nel codice gestito. Questo articolo apre anche le porte a MetaTrader per utilizzare le tante librerie che sono già implementate in C#.

Component Object Model (COM) è uno standard di interfaccia binaria introdotto da Microsoft all'inizio degli anni novanta. L'idea centrale di questa tecnologia è quella di consentire agli oggetti creati in diversi linguaggi di programmazione di essere utilizzati da qualsiasi altro oggetto COM senza conoscerne l'implementazione interna. Tale requisito impone l'implementazione di un'interfaccia rigorosa e ben definita del COM che è completamente separata dall'implementazione.

In effetti, COM è stato sostituito dalla tecnologia .NET e Microsoft spinge per utilizzare .NET invece di COM. Per fornire la compatibilità con le versioni precedenti del codice precedente, .NET può cooperare con COM in entrambe le direzioni, ovvero .NET può chiamare metodi COM e l'oggetto COM può utilizzare il codice gestito .NET.

Questa funzionalità è denominata interoperabilità COM o COM Interop. L'API di interoperabilità COM si trova nello spazio dei nomi System.Runtime.InteropServices gestito.

 

Figura 2. Modello di interoperabilità COM

Figura 2. Modello di interoperabilità COM 

Autore: investeo

Motivazione: