"Yönetilmeyen dışa aktarmaları kullanarak C# kodunu MQL5'e gösterme" makalesi için tartışma - sayfa 2

 
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
 

*Bu makaleyi yazdığınız için çok teşekkürler! Çok iyi yazılmış ve çok sayıda örnek son derece yararlı.

Benim için en büyük engel değişken tiplerini ve bunların nasıl ileri geri aktarılacağını bulmaktı. (özellikle diziler ve dizeler) Metatrader için bazı paylaşılan C# kütüphaneleri görmek harika olurdu. Daha fazla şey öğrendiğimde ve bazı yararlı kütüphaneler oluşturduğumda, onlara katkıda bulunup bulunamayacağıma bakacağım.

Deneme yanılma yoluyla öğrenmek yerine bana çok zaman kazandırdınız. Bilginizi paylaştığınız için teşekkürler.

Minnettarım! :-)

 

Merhaba

Aniden (?) DLL işlevimin "TestMe.dll" içinde 'Add' bulunamıyor" hata mesajını döndürmesiyle ilgili bir sorunum var. Bu sizin kodunuzu kullanan basit bir örnektir:

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;
}
}
}

Bunu bir .mql dosyasında kullanmak:

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

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

--> 'Testme.dll' içinde 'Add' bulunamıyor

DLL'lerin nasıl çağrılacağı konusunda kaçırdığım bir değişiklik mi var?

Herhangi bir görüş çok takdir edilir

Thomas

 

Merhaba

Ayrıca aniden bir sorun yaşadım (ilk başta çalıştı, ama ...), örnek dll'i derlediğimde

'C:\Users\internal228\AppData\Local\Temp\tmpAFBE\UELTest.x86.il' dosyasını DLL'ye birleştirme --> 'C:\Users\internal228\Documents\Visual Studio 2010\Projects\UnmanagedLibTest\UELTest\bin\Debug\x86\UELTest.dll'

Kaynak dosya UNICODE'dur

***** ARIZA *****

UELTest

Gözden kaçırdığım bir şey var mı?

Windows 7; VisualStudio 2010;

Herhangi bir görüş çok takdir edilir.

Risan

 

**GÜNCELLEME** Çözüldü teşekkürler!


Selamlar,

C# Express 2010'da bir dll yazmak için prosedürü tamamen takip ettim. Şablon çalışmadı, bu yüzden dll dosyalarını yeni bir projeye manuel olarak ekledim ve her şey güzelce derlendi (belki burada yanlış bir şey yaptım).

Sadece çalışıp çalışmadığını test etmek için iki kolay fonksiyon yazdım ve Metatrader 4 dışında test ediyorum. Aşağıdaki hatayı alıyorum:


2011.10.29 20:13:37 2000.01.03 00:00 Expert_NN_1_1 USDJPY,H1: 'NN 1 DLL.dll' dll'inden 'sum' fonksiyonu çağrılamıyor(hata 127)


Sorunun ne olabileceği hakkında bir fikriniz var mı? DLL MT4'ümü yükledi, kontrol ettim, ancak işlevi çağırmak istemiyor. Bu sorunun MT4'te yönetilen bir dll çağırmaya çalışırken ortaya çıktığını fark ettim, ancak bu makalede açıklanan prosedürün sorunu çözmesi gerekiyor, değil mi?

Herhangi bir yardım takdir edilecektir

Teşekkürler!

 

Merhaba,

Bu kadar iyi yazılmış bir makale için takdirlerimi iletmek isterim.

Robert Giesecke'nin site bilgileri çok değerliydi.

Çok şey öğrendim. VB.NET'i tercih ettiğimde başka bir C++ sarmalayıcı yazmama gerek kalmaması harika bir şey.

Çok teşekkürler.

Şerefe,

Gordon

 

Merhaba,

Aynı sorunu yaşıyorum.... süslediğim yöntemler mt5'te bulunmuyor !!!

lütfen yardım edin! (vs2010 ve şablon kullanıyorum)

 
C# ile yazılmış bir fonksiyona mt4(veya mt5)'ten erişmek için basit bir örnek için büyük istek ........... Sharp ile bir fonksiyona a ve b değerlerini geçirin ve sonucu mt4(mt5)'e döndürün

makalede https://www.mql5.com/tr/articles/249 yazarın derlenmiş dll'i mt4 ve mt5'te doğru çalışıyor!

ancak yazarın kaynağından kendi derlenmiş dll'imi oluşturmaya çalıştığımda (VisualStudio 2010'da), bu dll çalışmıyor (hata 127 yazıyor)

.NET'in tüm sürümleri yüklü


// код 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));
}
//+------------------------------------------------------------------+

Hata nedir?
Как открыть мир C# из MQL5 путем экспорта неуправляемого кода
Как открыть мир C# из MQL5 путем экспорта неуправляемого кода
  • 2011.02.09
  • investeo
  • www.mql5.com
В данной статье я представил различные методы взаимодействия между кодом, написанным на MQL5, и управляемым кодом на C#. Также я подготовил несколько примеров маршалинга структур MQL5 для C# и примеров вызова экспортированных функций DLL в скриптах на MQL5. Приведенные примеры могут служить основой для дальнейших исследований аспектов написания DLL в управляемом коде. Эта статья также открывает двери для использования в MetaTrader 5 множества библиотек, уже реализованных на C#.
 
c-sharp'ta şablonların nereye ve nasıl eklendiğini bilen var mı, nedeni görünüşe göre sadece bu

ve şablon nasıl devreye sokulur?
 
panelektrik:
c-sharp'ta şablonların nereye ve nasıl eklendiğini bilen var mı, nedeni görünüşe göre sadece bu

ve şablon nasıl devreye sokulur?

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

VS2010 için en altta.

ve en altta faydalı bilgiler var.

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