Видеть да, а одновременно использовать! Не помню почему встала необходимость шарп использовать, но уже по факту!
То есть вы считаете что одновременно их нельзя использовать? И такие библиотеки как kernel32, gdi и т.п. загружаются в память для каждого приложения отдельно?
RTFM по разработке DLL статических и динамических.
Об этом писали не раз, в том числе и я на форуме mql4. Напрямую вызвать CLR DLL из советника MT4 не получиться, он может загружать только Native DLL, написанные под Win32. То есть для доступа к DLL под .NET (язык не важен, C#, или C++ CLR или любой другой язык CLR) нужно писать простенькую обертку, DLL на С++, которая загружает .NET DLL. Самый простой способ - сделать на C# статический класс, это ограничивает возможности, зато никакого геморроя с созданием экземпляра класса в памяти.
То есть вы считаете что одновременно их нельзя использовать? И такие библиотеки как kernel32, gdi и т.п. загружаются в память для каждого приложения отдельно?
RTFM по разработке DLL статических и динамических.
)))) Код DLL загружается однократно, а вот область памяти данных создается отдельно для каждого приложения. Впрочем, можно выделить общие переменные (только отдельные переменные, не массивы) в памяти для всех экземпляров одного приложения (например, МТ4 или МТ5). Об этом подробно написано у Рихтера.
#pragma data_seg("Shared")
double data = 0; // переменная будет общей, т.к. лежит в секции Shared
#pragma data_seg
Но гораздо удобнее использовать memory mapped files.
)))) Код DLL загружается однократно, а вот область памяти данных создается отдельно для каждого приложения. Впрочем, можно выделить общие переменные (только отдельные переменные, не массивы) в памяти для всех экземпляров одного приложения (например, МТ4 или МТ5). Об этом подробно написано у Рихтера.
Но гораздо удобнее использовать memory mapped files.
Вот я про тоже говорю, пусть человек почитает документацию для начала, а то боится использовать DLL которые сам разрабатывает. ))
На форуме иногда при ответе с цитатой, курсор попадает в поле цитаты и никак не хочет оттуда вылезать. Есть способ борьбы с такой ситуацией: Форум: при ответе курсор заскакивает в цитату
Кстати, а зачем 2 DLL-ки ? нельзя в одной функционал прописать? или разбил на логические модули?
MT4 действительно только нативные DLL понимает (уж не знаю как сейчас, но раньше точно), так что к шарповским DLL придется по-любому врапперы писать.
Не вешай нос, все получится. Если что обращайся в лс, я помогу.
Да, объединить все и было бы гораздо быстрее и проще! Часть функций универсальны для нескольких советников, индикаторов, и более интересней, если их не из mql выдергивать, а из длл! Задачу наверно пока отложу, совмещу все в одной библиотеке, появится время вернусь! Если сам не нарою чего как, обращусь, спасибо!
Vyacheslav090:
Видеть да, а одновременно использовать! Не помню почему встала необходимость шарп использовать, но уже по факту!
То есть вы считаете что одновременно их нельзя использовать? И такие библиотеки как kernel32, gdi и т.п. загружаются в память для каждого приложения отдельно?
RTFM по разработке DLL статических и динамических.
То есть вы считаете что одновременно их нельзя использовать? И такие библиотеки как kernel32, gdi и т.п. загружаются в память для каждого приложения отдельно?
RTFM по разработке DLL статических и динамических.
)))) Код DLL загружается однократно, а вот область памяти данных создается отдельно для каждого приложения. Впрочем, можно выделить общие переменные (только отдельные переменные, не массивы) в памяти для всех экземпляров одного приложения (например, МТ4 или МТ5). Об этом подробно написано у Рихтера.
Но гораздо удобнее использовать memory mapped files.
)))) Код DLL загружается однократно, а вот область памяти данных создается отдельно для каждого приложения. Впрочем, можно выделить общие переменные (только отдельные переменные, не массивы) в памяти для всех экземпляров одного приложения (например, МТ4 или МТ5). Об этом подробно написано у Рихтера.
Но гораздо удобнее использовать memory mapped files.
elugovoy:
Вот я про тоже говорю, пусть человек почитает документацию для начала, а то боится использовать DLL которые сам разрабатывает. ))
Да причем тут страх, я же совета спросил, а не накинуться на меня! Чем смогли, помогли, спасибо!
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Вопросы от начинающих
barabashkakvn, 2014.08.31 18:41
На форуме иногда при ответе с цитатой, курсор попадает в поле цитаты и никак не хочет оттуда вылезать. Есть способ борьбы с такой ситуацией: Форум: при ответе курсор заскакивает в цитатуVyacheslav090:
Да причем тут страх, я же совета спросил, а не накинуться на меня! Чем смогли, помогли, спасибо!
Славик, не переживай, никто не накидывается.
Кстати, а зачем 2 DLL-ки ? нельзя в одной функционал прописать? или разбил на логические модули?
MT4 действительно только нативные DLL понимает (уж не знаю как сейчас, но раньше точно), так что к шарповским DLL придется по-любому врапперы писать.
Не вешай нос, все получится. Если что обращайся в лс, я помогу.
Славик, не переживай, никто не накидывается.
Кстати, а зачем 2 DLL-ки ? нельзя в одной функционал прописать? или разбил на логические модули?
MT4 действительно только нативные DLL понимает (уж не знаю как сейчас, но раньше точно), так что к шарповским DLL придется по-любому врапперы писать.
Не вешай нос, все получится. Если что обращайся в лс, я помогу.
Да, объединить все и было бы гораздо быстрее и проще! Часть функций универсальны для нескольких советников, индикаторов, и более интересней, если их не из mql выдергивать, а из длл! Задачу наверно пока отложу, совмещу все в одной библиотеке, появится время вернусь! Если сам не нарою чего как, обращусь, спасибо!