создание .dll файла с помощью редактора Dev-C++ для Metatrader
Есть ли у кого-нибудь опыт создания .dll файла с помощью Dev-C++, который может быть использован для Metatarder.
Когда я пытаюсь это сделать, я думаю, что файл .def неправильно включен в файл .dll, и я получаю ошибку 127.
Я нашел руководство, как создать .dll файл для Metatrader с помощью Visual Studio, но не в бесплатной версии, в бесплатной версии нет возможности создать MFC-Dll, как в руководстве, которое я видел.
Я думаю, что для многих было бы полезно, если бы где-нибудь было руководство по созданию .dll файлов с помощью бесплатного редактора Dev-C++ с открытым исходным кодом для использования в Metatrader.
Интересно делать внешний код с помощью DLL. насколько я знаю, это усложняет обратную разработку, нежели файлы ex4...
Однако, я хотел бы иметь кусок кода, который можно использовать для выполнения http запроса или даже прямого подключения к удаленному mysql... если кто-то из вас может предоставить или имеет информацию относительно решения... пожалуйста, дайте мне знать...
У меня возникла проблема при попытке использовать эту библиотеку.
Я поместил их в metatrader\experts\library.
Я правильно определяю путь для файла .def
... но мой советник выводит на реестр эту ошибку: -65495.
В чем может быть проблема?
И, самое главное, как ее решить?
Возможно ли, что файл .def может быть поврежден?
Заранее спасибо...
Не уверен, эта библиотека выглядит знакомой, вы используете ее для подключения к веб-сайту? Пробовали ли вы использовать wininet.lib вместо этого?
Я не думаю, что дело в def-файле, иначе ваша dll даже не загрузится и не будет работать должным образом... Если вы можете предоставить больше информации (т.е. часть кода, который вы используете в dll), тогда, возможно, я смогу попытаться помочь.
Вот ИСКЛЮЧЕНИЕ:
Произошла критическая ошибка
Время : 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 файла с помощью редактора 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 генерируется автоматически, проблема в том, что вы получаете имена функций, которые выглядят следующим образом:
_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 может быть поврежден?
Заранее спасибо...
Здравствуйте, Патрик.
Если я не ошибаюсь, вы работали с IBFX пару лет назад... вы все еще с ними сейчас? Вы все еще собираете тики?
Спасибо за учебник.... это то, что я ждал...Привет, Веематика,
Извините, что не видел вашего сообщения до сих пор :P
Да, я работал с IBFX около двух с половиной лет назад, я делаю некоторые консультации с ними время от времени.
Я больше не собираю тики, это слишком много работы, и у меня больше нет смысла в этом.
Патрик
Здравствуйте, ребята!
У меня возникла проблема при попытке использовать эту библиотеку.
Я поместил их в metatrader\experts\library.
Я правильно определяю путь для файла .def
... но мой советник выводит на реестр эту ошибку: -65495.
В чем может быть проблема?
И, самое главное, как ее решить?
Возможно ли, что файл .def может быть поврежден?
Заранее спасибо...Не уверен, эта библиотека выглядит знакомой, вы используете ее для подключения к веб-сайту? Пробовали ли вы использовать wininet.lib вместо этого?
Я не думаю, что дело в def-файле, иначе ваша dll даже не загрузится и не будет работать должным образом... Если вы можете предоставить больше информации (т.е. часть кода, который вы используете в dll), тогда, возможно, я смогу попытаться помочь.
Патрик