Вызов функции из DLL в эксперте - какие ограничения и как?

 

Простите, если вопрос дублируется - честно искал в поиске, не получилось =)

Вопрос состоит в следующем: могу ли я из эксперта вызвать функцию из DLL? Например накатал я простейшую Win32 DLL в том же C++, и вызвать из неё функцию из эксперта?

Если да, то просто слишком хорошо чтобы быть правдой)

Сейчас попробовал, сделал ДЛЛ показывающую мессаджбокс.

Попробовал вызвать из эксперта, объявил через инклюд - ругается, говорит 127ая ошибка, не может вызвать функцию и останавливает эксперт.

В чем, причина, может кто-то подскажет? Буду очень благодарен!

Вообще, меня терзают смутные подозрения что для вызова DLL в самом исходном коде дллки надо как то объявлять функции для экспорта и посл вызова из экспертов.

Вообще, вот код ДЛЛки

#include "stdafx.h"

int as;

BOOL APIENTRY DllMain()
{
MessageBox (NULL,"","",MB_OK);
return TRUE;
}

вот код эксперта

//+------------------------------------------------------------------+
//| 234234.mq4 |
//| Copyright © 2009, MetaQuotes Software Corp. |
//| https://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, MetaQuotes Software Corp."
#property link "https://www.metaquotes.net/"
#import "WinLib64.dll"
bool DllMain();
int init()
{
return(0);
}

int deinit()
{
return(0);
}
int start()
{
DllMain();
return(0);
}

Наверняка, что то не так делаю...

 

Пробовал объявлять и так:

#include "stdafx.h"

int as;

BOOL APIENTRY DllMain()
{
MessageBox (NULL,"","",MB_OK);
return TRUE;
}

int __stdcall Fun1()
{
MessageBox (NULL,"","",MB_OK);
return 0;
}

потом вызывал из эксперта Fun1()

бестолку, 127ая ошибка(

 
C:\Program Files\MetaTrader - Alpari\experts\samples\DLLSample
 
спасибо!
Причина обращения: