Создание собственного расширения MetaTrader (dll) - страница 4

 

Вот ИСКЛЮЧЕНИЕ:

Произошла критическая ошибка

Время : 2009.03.05 14:32

Программа : Клиентский терминал

Версия : 4.00 (сборка: 220, 7 ноября 2008)

ОС : Windows Vista Professional 6.0 Service Pack 1 (Build 6001)

Процессоры : 2 x X86 (уровень 15)

Память : 4194303/4194303 кб

Исключение : C0000005

Адрес : 8B222B17

Тип доступа : чтение

Адрес доступа : 8B222B17

Регистры : EAX=000000 CS=0023 EIP=8B222B17 EFLGS=00010246

: EBX=0045FE84 SS=002b ESP=061BFEF8 EBP=061BFF30

: ECX=000000 DS=002b ESI=05703E68 FS=0053

: EDX=000000FF ES=002b EDI=05703E70 GS=002b

Трассировка стека : 004552FD 76672DEB 7613E3F3 779BCFED

: 779BD1FF 00000000 00000000 00000000 00000000

: 00000000 00000000 00000000 00000000

: 00000000 00000000 00000000 00000000

Модули :

1 : 00400000 004F6000 c:\program files (x86)\fxdd - metatrader 4\terminal.exe

2 : 10000000 0001B000 c:\windows\system\expertsample.dll

3 : 16080000 00019000 c:\program files (x86)\bonjour\mdnsnsp.dll

4 : 71E70000 00123000 c:\windows\winsxs\x86_microsoft.vc90.debugcrt_1fc8b3b9a1e18e3b_9.0.30729.1_none_bb1f6aa1308c35eb\msvcr90d.dll

5 : 746D0000 000BA000 c:\windows\system32\propsys.dll

6 : 74950000 00066000 c:\windows\system32\audioeng.dll

7 : 74AF0000 00014000 c:\windows\system32\msacm32.dll

8 : 74B10000 00021000 c:\windows\system32\audioses.dll

9 : 74B40000 00065000 c:\windows\system32\odbc32.dll

10 : 74BB0000 0011B000 c:\windows\system32\mfc42.dll

11 : 74DB0000 0002F000 c:\windows\system32\wdmaud.drv

12 : 74DF0000 0002D000 c:\windows\system32\wintrust.dll

13 : 74E70000 00005000 c:\windows\system32\msimg32.dll

14 : 74E80000 00038000 c:\windows\system32\odbcint.dll

15 : 74EC0000 00005000 c:\windows\system32\wshtcpip.dll

16 : 74F20000 00006000 c:\windows\system32\rasadhlp.dll

17 : 74F90000 00027000 c:\windows\system32\mmdevapi.dll

18 : 74FC00000000 00080000 c:\windows\system32\uxtheme.dll

19 : 75040000 00007000 c:\windows\system32\midimap.dll

20 : 75080000 00009000 c:\windows\system32\msacm32.drv

21 : 75090000 00004000 c:\windows\system32\ksuser.dll

22 : 750B0000 00007000 c:\windows\system32\avrt.dll

23 : 750C0000 0002C000 c:\windows\system32\apphelp.dll

24 : 750F0000 0003B000 c:\windows\system32\mswsock.dll

25 : 75130000 0003B000 c:\windows\system32\rsaenh.dll

26 : 75170000 00012000 c:\windows\system32\pnrpnsp.dll

27 : 751A0000 00008000 c:\windows\system32\winrnr.dll

28 : 751B0000 0000F000 c:\windows\system32\napinsp.dll

29 : 751C0000 0000F000 c:\windows\system32\nlaapi.dll

30 : 751E0000 00021000 c:\windows\system32\dhcpcsvc6.dll

31 : 75210000 00007000 c:\windows\system32\winnsi.dll

32 : 75220000 0002C000 c:\windows\system32\dnsapi.dll

33 : 75250000 00035000 c:\windows\system32\dhcpcsvc.dll

34 : 75290000 00019000 c:\windows\system32\iphlpapi.dll

35 : 75440000 0019E000 c:\windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.6001.18000_none_5cdbaa5a083979cc\comctl32.dll

36 : 75780000 0001E000 c:\windows\system32\userenv.dll

37 : 757A0000 00012000 c:\windows\system32\msasn1.dll

38 : 757C0000 000F1000 c:\windows\system32\crypt32.dll

39 : 758E0000 00039000 c:\windows\system32\oleacc.dll

40 : 75920000 00032000 c:\windows\system32\winmm.dll

41 : 75A90000 00060000 c:\windows\syswow64\secur32.dll

42 : 75B50000 0007D000 c:\windows\syswow64\usp10.dll

43 : 75BD0000 000D0000 c:\windows\syswow64\wininet.dll

44 : 75CA0000 000C8000 c:\windows\syswow64\msctf.dll

45 : 75E00000 00045000 c:\windows\syswow64\iertutil.dll

46 : 75E50000 0004A000 c:\windows\syswow64\wldap32.dll

47 : 75EA0000 00006000 c:\windows\syswow64\nsi.dll

48 : 75EB0000 00009000 c:\windows\syswow64\lpk.dll

49 : 75EC0000 00084000 c:\windows\syswow64\clbcatq.dll

50 : 75F50000 00090000 c:\windows\syswow64\gdi32.dll

51 : 75FE0000 000D0000 c:\windows\syswow64\user32.dll

52 : 760B0000 00110000 c:\windows\syswow64\kernel32.dll

53 : 761C000000 00029000 c:\windows\syswow64\imagehlp.dll

54 : 761F0000 00003000 c:\windows\syswow64\normaliz.dll

55 : 76200000 00144000 c:\windows\syswow64\ole32.dll

56 : 76350000 0018A000 c:\windows\syswow64\setupapi.dll

57 : 764E0000 0002D000 c:\windows\syswow64\ws2_32.dll

58 : 76510000 000C6000 c:\windows\syswow64\advapi32.dll

59 : 765E0000 00073000 c:\windows\syswow64\comdlg32.dll

60 : 76660000 000AA000 c:\windows\syswow64\msvcrt.dll

61 : 76710000 00060000 c:\windows\system32\imm32.dll

62 : 76770000 00129000 c:\windows\syswow64\urlmon.dll

63 : 768A0000 0008D000 c:\windows\syswow64\oleaut32.dll

64 : 76930000 000F0000 c:\windows\syswow64\rpcrt4.dll

65 : 76A20000 00B10000 c:\windows\syswow64\shell32.dll

66 : 77530000 00007000 c:\windows\syswow64\psapi.dll

67 : 77670000 00058000 c:\windows\syswow64\shlwapi.dll

68 : 77940000 00160000 c:\windows\syswow64\ntdll.dll

Стек вызовов :

 

Серьезные проблемы с DLL

У меня большие проблемы с функционированием моей собственной DLL.

Я наконец-то добился того, что могу вызывать DLL из советника, и она не выдает ошибку 127. К сожалению, каждый раз я получаю исключение.

Я приложил весь проект и файлы MT4.

Если кто-то из вас, богов программирования, может просто взглянуть на это, я буду очень благодарен!

[ПРИМЕЧАНИЕ: Скомпилировано на Visual Studio C++ Express 2008 Edition, работает на Vista x64 Ultimate dual-core w/ 6GB RAM]

-Jason

Файлы:
dll_test.zip  1421 kb
 

создание .dll файла с помощью редактора Dev-C++ для Metatrader

Есть ли у кого-нибудь опыт создания .dll файла с помощью Dev-C++, который может быть использован для Metatarder.

Когда я пытаюсь это сделать, я думаю, что файл .def неправильно включен в файл .dll, и я получаю ошибку 127.

Я нашел руководство, как создать .dll файл для Metatrader с помощью Visual Studio, но не в бесплатной версии, в бесплатной версии нет возможности создать MFC-Dll, как в руководстве, которое я видел.

Я думаю, что для многих было бы полезно, если бы где-нибудь было руководство по созданию .dll файлов с помощью бесплатного редактора Dev-C++ с открытым исходным кодом для использования в Metatrader.

 

dev-C++ искажение имен ...

Привет Тим,

При использовании dev-c++ файл def генерируется автоматически, проблема в том, что вы получаете имена функций, которые выглядят следующим образом:

EXPORTS

_Z11GetSMAArrayP8RateInfoiiPd@16 @ 1

_Z12GetHighValueP8RateInfoii = _Z12GetHighValueP8RateInfoii@12 @ 2

_Z12GetHighValueP8RateInfoii@12 @ 3

_Z13GetCloseValueP8RateInfoii = _Z13GetCloseValueP8RateInfoii@12 @ 4

_Z13GetCloseValueP8RateInfoii@12 @ 5

_Z11GetSMAArrayP8RateInfoiiPd = _Z11GetSMAArrayP8RateInfoiiPd@16 @ 6[/PHP]

Now you need to make sure you add the following check around your code

[PHP]

#ifdef __cplusplus

extern "C" {

#endif

#ifdef __cplusplus

}

#endif

Прилагаю примеры файлов, которые я сделал для VS2008, но на этот раз с использованием dev-c++ ...

Надеюсь, это поможет

Файлы:
 

Здравствуйте, Мистигри,

большое спасибо за вашу хорошую помощь.

Онлайн видео, которое я нашел, также было вашим видео.

Я опробовал ваш новый пример в редакторе dev-c++, он работает, спасибо за вашу помощь, чтобы добраться до этого места.

С уважением,

Тим

 

Здравствуйте, Патрик.

Если я не ошибаюсь, вы работали с IBFX пару лет назад... вы все еще с ними сейчас? Вы все еще собираете тики?

Спасибо за учебник.... это то, что я ждал...

 

Интересно делать внешний код с помощью DLL. насколько я знаю, это усложняет обратную разработку, нежели файлы ex4...

Однако, я хотел бы иметь кусок кода, который можно использовать для выполнения http запроса или даже прямого подключения к удаленному mysql... если кто-то из вас может предоставить или имеет информацию относительно решения... пожалуйста, дайте мне знать...

 

NS2-32.dll

Здравствуйте, ребята!

У меня возникла проблема при попытке использовать эту библиотеку.

Я поместил их в metatrader\experts\library.

Я правильно определил путь для .def файла.

... но мой советник выдает в реестре ошибку: -65495.

В чем может быть проблема?

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

Возможно ли, что файл .def может быть поврежден?

Заранее спасибо...

 
veematics:
Здравствуйте, Патрик.

Если я не ошибаюсь, вы работали с IBFX пару лет назад... вы все еще с ними сейчас? Вы все еще собираете тики?

Спасибо за учебник.... это то, что я ждал...

Привет, Веематика,

Извините, что не видел вашего сообщения до сих пор :P

Да, я работал с IBFX около двух с половиной лет назад, я делаю некоторые консультации с ними время от времени.

Я больше не собираю тики, это слишком много работы, и у меня больше нет смысла в этом.

Патрик

 
fedecosta:
Здравствуйте, ребята!

У меня возникла проблема при попытке использовать эту библиотеку.

Я поместил их в metatrader\experts\library.

Я правильно определяю путь для файла .def

... но мой советник выводит на реестр эту ошибку: -65495.

В чем может быть проблема?

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

Возможно ли, что файл .def может быть поврежден?

Заранее спасибо...

Не уверен, эта библиотека выглядит знакомой, вы используете ее для подключения к веб-сайту? Пробовали ли вы использовать wininet.lib вместо этого?

Я не думаю, что дело в def-файле, иначе ваша dll даже не загрузится и не будет работать должным образом... Если вы можете предоставить больше информации (т.е. часть кода, который вы используете в dll), тогда, возможно, я смогу попытаться помочь.

Патрик

Причина обращения: