Diskussion zum Artikel "Offenlegen von C#-Code in MQL5 mithilfe nicht gemanagter Exporte" - Seite 2

 

Ich hoffe, dass RGiesecke bald antworten wird, Sie können es unter folgender Adresse verfolgen

http://stackoverflow.com/questions/4642548/how-to-use-a-net-assembly-in-delphi-without-registering-it-in-the-gac-or-com/5497058#5497058

How to use a .Net Assembly in Delphi without registering it in the GAC or COM?
How to use a .Net Assembly in Delphi without registering it in the GAC or COM?
  • stackoverflow.com
i have a simple task: is it possible to write a Delphi DLL and put a .Net Assembly (with only one interface with 4 methods and one class implementing the interface) besides it and call it from the
 

*Vielen Dank für diesen Artikel, er ist sehr gut geschrieben und die vielen Beispiele sind sehr hilfreich.

Die große Hürde für mich war herauszufinden, die Variable Typen und wie man sie hin und her übergeben. (insbesondere Arrays und Strings) Es wäre großartig, einige gemeinsame C#-Bibliotheken für Metatrader zu sehen. Sobald ich mehr gelernt und einige nützliche Bibliotheken erstellt habe, werde ich sehen, ob ich sie beitragen kann.

Sie haben mir viel Zeit erspart, anstatt durch Versuch und Irrtum zu lernen. Danke, dass Sie Ihr Wissen teilen.

Ich weiß das sehr zu schätzen :-)

 

Hallo

Ich habe ein Problem, dass plötzlich (?) meine DLL-Funktion gibt Fehlermeldung "Cannot find 'Add' in 'TestMe.dll'. Dies ist ein einfaches Beispiel, das Ihren Code verwendet:

using System;
using System.Text;
using RGiesecke.DllExport;
using System.Runtime.InteropServices;

namespace Testme
{
class Test
{

[DllExport("Add", CallingConvention = CallingConvention.StdCall)]
public static int Add(int left, int right)
{
return left + right;
}
}
}

Verwendung in einer .mql-Datei:

#import "Testme.dll"
int Add(int left,int right);
#import

void OnStart()
{
//---
for(int i=0; i<3; i++)
{
Print(Add(i,666));
}
}

--> Kann 'Add' in 'Testme.dll' nicht finden

Gibt es eine Änderung beim Aufruf von DLLs, die ich übersehen habe?

Für jede Meinung bin ich sehr dankbar.

Thomas

 

Hallo

Ich habe auch ein Problem plötzlich (es funktionierte auf den ersten, aber ...), wenn ich das Beispiel dll kompiliert, bekam ich

Assemblieren von 'C:\Benutzer\intern228\AppData\Local\Temp\tmpAFBE\UELTest.x86.il' zu DLL --> 'C:\Benutzer\intern228\Dokumente\Visual Studio 2010\Projects\UnmanagedLibTest\UELTest\bin\Debug\x86\UELTest.dll'

Die Quelldatei ist UNICODE

***** FAILURE *****

UELTest

Habe ich irgendetwas übersehen?

Windows 7; VisualStudio 2010;

Jede Meinung wird sehr geschätzt.

Risan

 

**UPDATE** Ich habe das Problem gelöst, danke!


Hallo zusammen,

Ich habe das Verfahren vollständig befolgt, um eine dll in C# Express 2010 zu schreiben. Die Vorlage funktionierte nicht, also fügte ich die dll-Dateien manuell in ein neues Projekt ein und alles wurde gut kompiliert (vielleicht habe ich hier etwas falsch gemacht).

Ich habe zwei einfache Funktionen geschrieben, nur um zu testen, ob es funktioniert, und ich teste aus Metatrader 4. Ich bekomme den folgenden Fehler:


2011.10.29 20:13:37 2000.01.03 00:00 Expert_NN_1_1 USDJPY,H1: cannot call function 'sum' from dll 'NN 1 DLL.dll'(error 127)


Die DLL ist in MT4 geladen, ich habe es überprüft, aber sie will die Funktion nicht aufrufen. Mir ist aufgefallen, dass dieses Problem auftritt, wenn ich versuche, eine verwaltete DLL in MT4 aufzurufen, aber das in diesem Artikel beschriebene Verfahren sollte das Problem doch lösen, oder?

Für jede Hilfe bin ich dankbar

Vielen Dank!

 

Hallo zusammen,

Ich möchte nur meine Anerkennung für einen so gut geschriebenen Artikel weitergeben.

Die Angaben zur Website von Robert Giesecke waren von unschätzbarem Wert.

Ich habe viel gelernt. Dass ich nicht noch einen C++-Wrapper schreiben muss, wenn ich VB.NET bevorzuge, ist eine tolle Sache.

Vielen Dank dafür.

Zum Wohl,

Gordon

 

Hallo!

Ich habe das gleiche Problem.... Methoden, die ich dekorieren sind nicht in mt5 gefunden!!

pls Hilfe! (ich bin mit vs2010 und die Vorlage)

 
Große Anfrage für ein einfaches Beispiel einer in C# geschriebenen Funktion, um von mt4 (oder mt5) darauf zuzugreifen ........... Übergeben Sie a und b-Werte an eine Funktion mit Sharp und geben Sie das Ergebnis an mt4(mt5)

in dem Artikel https://www.mql5.com/de/articles/249 kompilierte dll des Autors funktioniert in mt4 und mt5 richtig!

aber wenn ich versuche, meine eigene kompilierte dll aus der Quelle des Autors (in VisualStudio 2010) zu erstellen, diese dll funktioniert nicht (schreibt Fehler 127)

alle Versionen von .NET installiert


// код C#

using System;
using System.Text;
using RGiesecke.DllExport;
using System.Runtime.InteropServices;



namespace TEST
{
class TEST
{
[DllExport("Add", CallingConvention = CallingConvention.StdCall)]
public static int Add(int left, int right)
{
return left + right;
}
}
}



namespace RGiesecke.DllExport
{

[AttributeUsage(AttributeTargets.Method, AllowMultiple = false)]
partial class DllExportAttribute : Attribute
{
public DllExportAttribute()
{
}
public DllExportAttribute(string exportName)
: this(exportName, CallingConvention.StdCall)
{
}
public DllExportAttribute(string exportName, CallingConvention callingConvention)
{
ExportName = exportName;
CallingConvention = callingConvention;
}
public CallingConvention CallingConvention { get; set; }
public string ExportName { get; set; }
}
}


// код МТ4
//+------------------------------------------------------------------+
#import "TEST.dll"
int Add(int a,int b);
#import

void start()
{
Comment(Add(3,2));
}
//+------------------------------------------------------------------+

Was ist der Fehler?
Как открыть мир C# из MQL5 путем экспорта неуправляемого кода
Как открыть мир C# из MQL5 путем экспорта неуправляемого кода
  • 2011.02.09
  • investeo
  • www.mql5.com
В данной статье я представил различные методы взаимодействия между кодом, написанным на MQL5, и управляемым кодом на C#. Также я подготовил несколько примеров маршалинга структур MQL5 для C# и примеров вызова экспортированных функций DLL в скриптах на MQL5. Приведенные примеры могут служить основой для дальнейших исследований аспектов написания DLL в управляемом коде. Эта статья также открывает двери для использования в MetaTrader 5 множества библиотек, уже реализованных на C#.
 
Wer weiß, wo und wie Vorlagen in c-sharp eingefügt werden, der Grund ist anscheinend nur diese

und wie man Vorlagen einbindet?
 
panelektrik:
wer weiß, wo und wie Vorlagen in c-sharp eingefügt werden, der Grund ist offenbar nur diese

und wie die Vorlage zu engagieren?

http://softblog.violet-tape.ru/2010/05/06/visual-studio-templates/

ganz unten für VS2010.

und nützliche Informationen ganz am Ende.

Visual Studio. Заготовки проектов
Visual Studio. Заготовки проектов
  • www.rootfront.com
В последнее время я не просто много, а очень много экспериментирую с кодом, подходами, написаниями каких-то тестовых сценариев и приложений. Результат, конечно, всегда разный, ну да не об этом сегодня пойдет речь. Постепенно начинаешь уставать от настройки стандартных проектов. Для проекта библиотек надо удалить класс, создаваемый там по...