Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Программа упала вот в этой функции GetExitCodeProcess .
Ты её используешь? Видимо то что она возвращает ты записываешь в lpExitCode.
Если вы хотите передать что-либо в длл по ссылке (чтобы обратно получить изменённым), используйте для этих целей массивы.
Читайте доки, ибо это рулез. https://docs.mql4.com/ru/basis/variables/formal
Кода этой dll у меня нет. Задача вобщем-то простая - запустить приложение, после того как работа приложения будет завершена, продолжить работу скрипта. Эта dll должна такое делать. Я не знаю как сделать это самому((((
Через ссылку попробуй передают данные в длл из скрипта.
То есть если в длл
__declspec(dllexport) int _stdcall func1(double& d) {
...
}
то в скрипте можно передать так
double dVar;
func1(dVar);
При этом переменная dVar в длл может быть изменена и в скрипте будет новое значение.
Попробуй и расскажи что получилось :o)
Сам не пробовал, пока некогда, но думаю, что так будет работать.
func1(double *d){
..........................
в данном случае d будет желаемым адресом. Для получения значения нужно будет указатель разименовать :
double c = *d;
double C = d[0];
что одно и то же
Успехов.
В RetCode[0] вызываемой функцией будет записано новое значение
Если надо передать адрес переменной, то используйте массив
В RetCode[0] вызываемой функцией будет записано новое значение
С этим такое дело:
There has been a critical error
Time : 2006.11.17 16:06
Program : Client Terminal
Version : 4.00 (build: 198, 19 Oct 2006)
Owner : MetaQuotes Software Corp. (MetaTrader)
OS : Windows XP Professional 5. 1 Service Pack 2 (Build 2600)
Processors : 1, type 586, level 15
Memory : 97776/15092 kb
Exception : C0000005
Address : 00000052
Access Type : read
Access Addr : 00000052
Registers : EAX=00000000 CS=001b EIP=00000052 EFLGS=00010246
: EBX=FFFFFFFF SS=0023 ESP=01D0FF2C EBP=01D0FF64
: ECX=00E65E48 DS=0023 ESI=01039780 FS=003b
: EDX=0000002F ES=0023 EDI=0104BBC4 GS=0000
Stack Trace : 0045131C 7C80B50B 00000000 00000000
: 00000000 00000000 00000000 00000000
: 00000000 00000000 00000000 00000000
: 00000000 00000000 00000000 00000000
Modules :
1 : 00400000 00298000 D:\Program Files\MetaTrader - Test\terminal. exe
2 : 01D10000 00008000 D:\Program Files\MetaTrader - Test\experts\libraries\bgexec. dll
3 : 10000000 0000A000 C:\PROGRA~1\MYWEBS~1\bar\1. bin\mwsoestb. dll
4 : 20000000 002CD000 C:\WINDOWS\system32\xpsp2res. dll
5 : 5B260000 00038000 C:\WINDOWS\system32\UxTheme. dll
6 : 61EC0000 0000E000 C:\WINDOWS\system32\MFC42LOC. DLL
7 : 71A80000 00008000 C:\WINDOWS\system32\WS2HELP. dll
8 : 71A90000 00017000 C:\WINDOWS\system32\WS2_32. dll
9 : 73D90000 000FE000 C:\WINDOWS\system32\MFC42. DLL
10 : 746E0000 0004B000 C:\WINDOWS\system32\MSCTF. dll
11 : 76350000 00005000 C:\WINDOWS\system32\MSIMG32. dll
12 : 76380000 00049000 C:\WINDOWS\system32\comdlg32. dll
13 : 76B20000 0002E000 C:\WINDOWS\system32\WINMM. dll
14 : 77110000 0008C000 C:\WINDOWS\system32\OLEAUT32. dll
15 : 773C0000 00102000 C:\WINDOWS\WinSxS\X86_Microsoft. Windows. Common-Controls_6595b64144ccf1df_6. 0.2600.2180_x-ww_a84f1ff9\COMCTL32.dll
16 : 774D0000 0013C000 C:\WINDOWS\system32\ole32. dll
17 : 77BF0000 00008000 C:\WINDOWS\system32\VERSION. dll
18 : 77C00000 00058000 C:\WINDOWS\system32\msvcrt. dll
19 : 77D30000 00090000 C:\WINDOWS\system32\USER32. dll
20 : 77DC0000 000AC000 C:\WINDOWS\system32\ADVAPI32. dll
21 : 77E70000 00091000 C:\WINDOWS\system32\RPCRT4. dll
22 : 77F10000 00046000 C:\WINDOWS\system32\GDI32. dll
23 : 77F60000 00076000 C:\WINDOWS\system32\SHLWAPI. dll
24 : 7C800000 000F6000 C:\WINDOWS\system32\kernel32. dll
25 : 7C900000 000B1000 C:\WINDOWS\system32\ntdll. dll
26 : 7C9C0000 00818000 C:\WINDOWS\system32\SHELL32. dll
Call stack :
004511F0:012C [0045131C] ?SetInputVar@CExpertInterior
7C80B357:01B4 [7C80B50B] GetModuleFileNameA [C:\WINDOWS\system32\kernel32. dll]
int RetCode[1]={0};
А у тебя видтимо вот так int RetCode[]; или int RetCode;
А в скрипте можно объявить Эту переменную так:
int RetCode[1]={0};
А у тебя видтимо вот так int RetCode[]; или int RetCode;
Вы уверены, что эта dll соответствует нашему соглашению о связях?