Вопрос по DLL ...... - страница 4

 
drknn:

Нет не можете - библиотека действует в другой области оперативной памяти.
Всё же можно, но с таким уровнем знаний автора это будет для него неподъёмно сложно.
 
Вот я ему и ответил: "Нет, не можете..."
 
Zhunko:
Всё же можно, но с таким уровнем знаний автора это будет для него неподъёмно сложно.
Интересно, как это сделать в МКЛ (хотя бы суть)?
 
220Volt:
Интересно, как это сделать в МКЛ (хотя бы суть)?

Советник вызывает функцию Symbol(HWND) из DLL. DLL активирует окно. Оно становится наверху Z-последовательности.

Считываем заголовок и выделяем имя инструмента. Потом 2 варианта вернуть его.

1. Заполняем входной буфер.

2. Возвращаем указатель на глобальный буфер.

 
Zhunko:

Советник вызывает функцию Symbol(hwnd) из DLL. DLL активирует окно. Оно становится наверху Z-последовательности.

Считываем заголовок и выделяем имя инструмента. Потом 2 варианта вернуть его.

1. Заполняем входной буфер.

2. Возвращаем указатель на глобальный буфер.

Спасибо. Я вопрос по-другому понял: "как передать указатель на функцию Symbol() в dll?"
 
220Volt:
Спасибо. Я вопрос по-другому понял: как передать указатель на функцию Symbol() в dll?
За это можно от Рената канделябром словить. ;)
 
220Volt:
Спасибо. Я вопрос по-другому понял: "как передать указатель на функцию Symbol() в dll?"

Наверно, нельзя это сделать. Адресное пространство MQL4 виртуальное.

 
MetaDriver:
За это можно от Рената канделябром словить. ;)


+5!!!!! :)

 
MetaDriver:
За это можно от Рената канделябром словить. ;)
Опасно, ща я посты потру :)
 
Zhunko:

Советник вызывает функцию Symbol(HWND) из DLL. DLL активирует окно. Оно становится наверху Z-последовательности.

Считываем заголовок и выделяем имя инструмента. Потом 2 варианта вернуть его.

1. Заполняем входной буфер.

2. Возвращаем указатель на глобальный буфер.

Активировать не надо. Дескриптор и так уже есть. Перемудрил.

Активироать надо, когда нет связи между библиотекой и MQL4. Чтобы тот же дескриптор получить.

Т.е. функция в DLL такая - _Symbol(). Активация должна быть в коде MQL4 до вызова _Symbol(). Ненадёжный вариант.

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