В MQL5 всегда есть место подвигу ! ;) - страница 6

 
mql5:

Только что проверил:

Библиотека не загрузилась, но пока не вызвана её функция всё работает (вывод TEST);

ага.  спасибо.  проверил, действительно нашёл бесконтрольный вызов.  извините за шум.

--

ещё вопрос:  а как можно 32-битные dll все-таки запустить в x64 ?    виндовый сервис, ведь, существует для этого.  что-то можно сделать?

// со своими dll проблем нет,  (хотя одна есть с утерянным кодом и своя.  очень лениво заново воспроизводить).  а вот со сторонними проблема.  не всегда удаётся найти 64-битную.

 
DC2008:

А что не понятно? Давайте конкретную задачу, а то всё вокруг да около...

вспомнил :) мысль (надеюсь здравая) была следующая - создать обратную связь для построения индикаторов iXXXonArray

Схема работы планировалась такая:

1. Имеем индикатор например iRSI. В качестве параметра для ENUM_APPLIED_PRICE указывается хендл другого индикатора.

2. Так вот этот другой индикатор и будет принимать буфер данных (в виде файла ресурса) от эксперта (или другого вызывающего кода).

3. Эксперт подготавливает данные для буфера, обновляет их в ресурсе. Индикатор прочитав этот файл - просто копирует их в свой буфер (не забывая про синк доступа и т.д.).

4. Первичный iRSI берет буфер этого индкиатора и делает свой расчет.

5. Профит!


таким образом можем любому индикатору (которых хочет ENUM_APPLIED_PRICE) подсовывать любой массив данны.

----

Кто сможет оформить сей MQL подвиг в кодебазу? 

Респект гарантирован! :)

 
sergeev:

вспомнил :) мысль (надеюсь здравая) была следующая - создать обратную связь для построения индикаторов iXXXonArray

...

Кто сможет оформить сей MQL подвиг в кодебазу? 

Респект гарантирован! :)

Может, разработчиков убедить правильнее? 
 

Запрос на Подвиг №8.

-----

Знаю что нельзя передавать в функцию указатель на простой тип (int*, char* ит.д.),

но предлагаю сподвигнуться на элегантный костыль как это сделать. 

Главное, чтоб функции вызывались с передачей в них параметра (или указателя) или NULL.

 
o_O:

Запрос на Подвиг №8.

-----

Знаю что нельзя передавать в функцию указатель на простой тип (int*, char* ит.д.),

но предлагаю сподвигнуться на элегантный костыль как это сделать. 

Главное, чтоб функции вызывались с передачей в них параметра (или указателя) или NULL.

Пример вызова, который должен работать? И где ТС?
 
o_O:

Запрос на Подвиг №8.

-----

Знаю что нельзя передавать в функцию указатель на простой тип (int*, char* ит.д.),

но предлагаю сподвигнуться на элегантный костыль как это сделать. 

Главное, чтоб функции вызывались с передачей в них параметра (или указателя) или NULL.

int x[1];
 
Yuriy Asaulenko:
int x[1];

не подходит.

для передачи в качестве void* аргумента в функцию

 
o_O:

не подходит.

для передачи в качестве void* аргумента в функцию

Задание не понятно. Пояснили бы для начала.
 
o_O:

не подходит.

для передачи в качестве void* аргумента в функцию

Реализация через memcpy подходит? Хотя нет, все равно надо пример. Получить указатель дело одно, еще ведь обратно данные получать.
 
Комбинатор:
Реализация через memcpy подходит? Хотя нет, все равно надо пример. Получить указатель дело одно, еще ведь обратно данные получать.

допустим есть фунцкия в классе

SendParam(int type, void* param)

в которую передаётся тип параметра (type) и сам параметр, точнее указатель на него (void*).

параметр может быть любого типа (класс или простой тип).

с классами всё ок. а вот с простыми типам костыли.

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