Кто использовал StartApp() - подскажите!

 

Три месяца бьюсь над проблемой запуска библиотеки из МТ - ничего не получается и никто не может подсказать в чем проблема.
Запускаю библиотеку:
#import "GOLD.dll"
bool StartApp();
#import
.......
int start()
{//1
............
bool ret;

ret = StartApp();
Библиотека не выполняет свою функцию запуска внешнего приложения, никаких сообщений об ошибках не выдается, такое ощущение, что МТ просто не видит библиотеку. Если аналогично библиотеке GOLD. dll делаю ехе-файл, он нормально запускает приложение. Листинг библиотеки в прикрепленном файле.
Подскажите, что делать?

Файлы:
gold.txt  2 kb
 

Если хочешь чтобы тебе помогли, следует хотябы на вопросы отвечать которые тебе задают.

 
eugenk, там есть заморочки, долго рассказывать.

trading_ivest, написал я эту длл тебе, напиши мне письмо, пришлю. Может всетаки скажешь, что за программу запускаешь?
 
Integer, удалил свой ответ. Товарищ спрашивает по-моему про запуск внешнего приложения, а я ему про начинающих... Это и правда тонкий вопрос и я этого еще никогда не делал. Максимум что я делал, это подключал MT4 через TCPIP к матлабу, и для управления с мобильного телефона. Там и правда возник ряд моментов, о которых документация умалчивает, и которые пришлось раскапывать самому... А насчет запуска нового процесса... Не знаю даже, это Рихтера наверно стоило бы почитать...
 
eugenk писал (а):
А насчет запуска нового процесса... Не знаю даже, это Рихтера наверно стоило бы почитать...


Это не новый процесс, .exe стартует в новом процессе, его как раз можно вызвать через Win API функцию
UINT WinExec(
LPCSTR lpCmdLine,
UINT uCmdShow
);


здесь это уже предлагали. Dll работает в вызывающем её процессе (inproc), это другое. Как вариант, если через Win API, можно попробовать вызвать
HMODULE LoadLibrary(
LPCTSTR lpFileName
);
здесь нужно передать полный путь к .dll, и затем попробовать вызвать метод через указатель на функцию.

Мне эта задача не нужна, пробовать не буду, приведу лишь в пример кусок старого кода по такому вызову функции SetLayeredWindowAttributes:

void CLayerMFCDlg::SetLayer(HWND hwnd, BYTE bAlpha)
{
    HMODULE hmodule;
    lfunc pSetLayWinAttr;
 
    hmodule = ::LoadLibrary("User32.dll");
 
    if (hmodule != NULL)
    {
        pSetLayWinAttr = (lfunc) ::GetProcAddress(hmodule,
            "SetLayeredWindowAttributes");
 
        if (pSetLayWinAttr != NULL)
        {
            // call function
            ::SetWindowLong(hwnd, GWL_EXSTYLE, 
                ::GetWindowLong(hwnd, GWL_EXSTYLE) | WS_EX_LAYERED);
 
            (pSetLayWinAttr) (hwnd, 0, bAlpha, LWA_ALPHA);
        }
        else
            MessageBox("GetProcAddress('SetLayeredWindowAttributes') FAILED", 
                "Error", MB_ICONEXCLAMATION);
 
        ::FreeLibrary(hmodule);
    }
    else
        MessageBox("LoadLibrary() FAILED", "Error", MB_ICONEXCLAMATION);
}

Получается такая вот полупрозрачная красота с любым окном на экране:

 
Integer писал (а):
eugenk, там есть заморочки, долго рассказывать.

trading_ivest, написал я эту длл тебе, напиши мне письмо, пришлю. Может всетаки скажешь, что за программу запускаешь?

Спасибо всем откликнувшимся.
Что касается вопросов, я стараюсь отвечать на все, извините, если что-то упустил, и этим Вас обидел. Внешнее приложение, которое я пытаюсь запустить, это пакет включающий в себя . Я уже много использовал разных нейросетей, но проблема в их медленном обучении, я хочу добиться дообучение сети в реальном времени до прихода следующего бара. Как будет себя вести этот пакет пока не знаю, на данном этапе пытаюсь подключить его к терминалу, дальше буду экспериментировать.
 
trading_ivest писал (а):
Integer писал (а):
eugenk, там есть заморочки, долго рассказывать.

trading_ivest, написал я эту длл тебе, напиши мне письмо, пришлю. Может всетаки скажешь, что за программу запускаешь?

Спасибо всем откликнувшимся.
Что касается вопросов, я стараюсь отвечать на все, извините, если что-то упустил, и этим Вас обидел. Внешнее приложение, которое я пытаюсь запустить, это пакет включающий в себя нейросети. Я уже много использовал разных нейросетей, но проблема в их медленном обучении, я хочу добиться дообучение сети в реальном времени до прихода следующего бара. Как будет себя вести этот пакет пока не знаю, на данном этапе пытаюсь подключить его к терминалу, дальше буду экспериментировать.


Абалдеть))) Ты издеваешься? То что это нейросети я итак понял. Тебе уже длл нахаляву написали, сложно сказать название программы, причем не обязательно на форуме, а можно письмом. Не хочешь - надо.
Причина обращения: