on tick и on time - страница 5

 
emelenium:

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


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

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

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

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

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

Вот код моей аналогичной 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 все равно не работает 

 
emelenium:

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

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

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


Если я правильно помню синтаксис Delphi, то значок @ выступает в роли операции взятия адреса. Если это так, то Вы передаете в LPARAM указатель на указатель, т. к. PAnsiChar - это уже указатель. 
 
Точнооо! Всее теперь заработало. Спасибо!!!