Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Есть вопросы автору статьи? Обсуди их на форуме!
Ihor Herasko
8636
Ihor Herasko 2014.06.15 18:09  
emelenium:

Всмысле Release-версией? 


Я чуть выше (https://www.mql5.com/ru/forum/151863/page4#975345) привел DLL, скомпилированную в Release-режиме. Та, что у Вас сейчас, скомпилирована в Debug-режиме.
Алексей Тарабанов
7222
Алексей Тарабанов 2014.06.15 18:16  
Scriptong:

Я чуть выше (https://www.mql5.com/ru/forum/151863/page4#975345) привел DLL, скомпилированную в Release-режиме. Та, что у Вас сейчас, скомпилирована в Debug-режиме.

Игорь, а если в режиме отладки, то никак? 
Ihor Herasko
8636
Ihor Herasko 2014.06.15 18:23  
tara:

Игорь, а если в режиме отладки, то никак? 

Не пробовал запускать отладочные версии без VS, но, скорее всего, если их скомпилировать с ключиком "В общей DLL", они пойдут. Просто у меня режим отладки настроен одним образом, а релизный - другим. Вот и получилась разница из-за debug и release-версий )))
emelenium
128
emelenium 2014.06.16 01:30  
Во все в  Release-версией заработало :) !!! Теперь еще бы на Delphi
emelenium
128
emelenium 2014.06.16 17:46  

Вот код моей аналогичной dll на Delphi:

library RS;
uses
  SysUtils,Windows,Classes;
Function RSP(Hwnd:HWND):boolean;stdcall;
{********* Функция запускающая скрипт ***************************}
var SCRIPT_NAME:PAnsichar;
begin
SCRIPT_NAME:='TestS';
PostMessageA(Hwnd,RegisterWindowMessageA('MetaTrader4_Internal_Message'),16,LParam(@SCRIPT_NAME));
end;
{$R *.res}
exports RSP;
begin
end.

Что тут не так? Почему не запускает скрипт  TestS? 

Тип данных у переменной  SCRIPT_NAME ставил и string  и PChar и  PAnsichar все равно не работает 

Ihor Herasko
8636
Ihor Herasko 2014.06.16 18:41  
emelenium:

Вот код моей аналогичной dll на Delphi:

Что тут не так? Почему не запускает скрипт  TestS? 

Тип данных у переменной  SCRIPT_NAME ставил и string  и PChar и  PAnsichar все равно не работает 


Если я правильно помню синтаксис Delphi, то значок @ выступает в роли операции взятия адреса. Если это так, то Вы передаете в LPARAM указатель на указатель, т. к. PAnsiChar - это уже указатель. 
emelenium
128
emelenium 2014.06.16 21:23  
Точнооо! Всее теперь заработало. Спасибо!!!
/ /12345
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий