
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
if you want call betweent them, need some complex consideration.
see Interop or P/Invoke in VS 2005 help.
I think you need a C/C++ code to pack or wrap C# code, give a interface in a general native dll.
MQL4 only can call native dll. (note there are 2 kind of dll now !!! )
so using C# to code a dll, which can not called by MQL4 directlly.
if you not know what is managed code and unmanaged code (native ), you cannot know how to do.
so only can use C/C++ to code a native dll for MQL4 using.
or wait MT can supply interface for C# in future.
suggest MT constructs a interface for C#, only a dll with functions transfering data.
Don't waste your time with VS. If you like C/C++ so much use Dev-C for native C/C++ dll. I was a Pascal programmer, and now I'm using Dev-Pascal to create dlls usable by MT.
I would appreciate any help here.
My zap.cpp is below. What should be in the header?
I have a zap.def as well.
It all compile to a zap.dll, importing which I get the err127 when calling Hello().
#include "zap.h"
#include <windows.h>
#define MT4_EXPFUNC __declspec(dllexport)
BOOL APIENTRY DllMain (HINSTANCE hInst /* Library instance handle. */ ,
DWORD reason /* Reason this function is being called. */ ,
LPVOID reserved /* Not used. */ )
{
switch (reason)
{
case DLL_PROCESS_ATTACH:
break;
case DLL_PROCESS_DETACH:
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
}
/* Returns TRUE on success, FALSE on failure */
return TRUE;
}
MT4_EXPFUNC void __stdcall Hello()
{
HWND hWnd=NULL;
LPCTSTR lpText="hello world";
LPCTSTR lpCaption ="";
UINT uType = 0;
MessageBox(hWnd,lpText,lpCaption,uType);
}