Библиотеки: File Mapping без DLL

 

File Mapping без DLL:

Класс MQL5, который работает напрямую с маппингом, без использования самописной DLL.

Исходный проект для C++ опубликован в CodeBase: Memory Mapping.

В комплекте находится скрипт с примером использования.

Автор: o_o

 

Алекс, а ты предусматривал передачу хендла виртуального файла в чужой поток?

чё то я не нашёл, если есть ткни пожалуйста где.

ЗЫ а вообще толковая вещичка вышла.

 
Urain:

Алекс, а ты предусматривал передачу хендла виртуального файла в чужой поток?

а в чем проблема то? 
 
sergeev:
а в чем проблема то? 

Да проблем нет, я инкапсулировал хендл передал в другой объект, всё работает.

Просто ищу где ты предусматривал такую передачу доступа к файлу.

 

в классе CMemMapApi хендл памяти должна хранить сама использующая его(этот объект) программа.

а в CMemMapFile - хендл записан в паблик m_hmem

 
sergeev:

в классе CMemMapApi хендл памяти должна хранить сама использующая его(этот объект) программа.

а в CMemMapFile - хендл записан в паблик m_hmem

Тогда я чё то полохо непонял :)

уточни после закрытия файла его можно открыть в другой проге или

он уничтожается после закрытия?

и когда уничтожается файл и освобождается память?

 

Urain:

Тогда я чё то полохо непонял :)

уточни после закрытия файла его можно открыть в другой проге или

он уничтожается после закрытия?

и когда уничтожается файл и освобождается память?

Ага разобрался, можно не передавать хендлы, а просто сделать новое открытие в новом потоке по имени файла.
 
Urain:

Ага разобрался, можно не передавать хендлы, а просто сделать новое открытие в новом потоке по имени файла.
ну дык Николай, а зачем же я все это делал то ?  :)  конечно, чтоб разный софт, мог одновременно в один общий файл писать/читать.
 
sergeev:
ну дык Николай, а зачем же я все это делал то ?  :)  конечно, чтоб разный софт, мог одновременно в один общий файл писать/читать.
Alex, спасибо за Ваши труды. Я пока не пробовал использовать, так как для меня это пока новая тема, нужно почитать (Рашид подсказал статьи). Только вот такой вопрос на данный момент. В названии темы подчёркнуто - без DLL. Но обращение к kernel32.dll и к msvcrt.dll есть. То есть для Маркета это решение не подходит?
 
tol64:
Alex, спасибо за Ваши труды. Я пока не пробовал использовать, так как для меня это пока новая тема, нужно почитать (Рашид подсказал статьи). Только вот такой вопрос на данный момент. В названии темы подчёркнуто - без DLL. Но обращение к kernel32.dll и к msvcrt.dll есть. То есть для Маркета это решение не подходит?

Для маркета не подходит(хотя это ещё под вопросм), но Ренат говорил что подумает о реализации подобных вещей в стандарте MQL5.

В названии имелось в виду без самописных длл, всё же стандартные длл винды, более безопасны чем самописные.

 
Urain:

В названии имелось в виду без самописных длл, всё же стандартные длл винды, более безопасны чем самописные.

да, имелось ввиду именно без самописных. А стандартные безопасны в том смысле, что всем изветсно, что они делают.
для маркета это решение (по существующим правилам) не подходит


но в маркете (я очень надеюсь), что примут за базовый предложенный мной вариант  - можно публиковать эксперт, вызывающий функции из ex5-библиотеки.

То есть все dll вызовы ложатся в ex5, который в маркете не выставляется, а лежит или в кодебазе или у разработчика на сайте.