Скачать MetaTrader 5

Как создать окно-форму в mt Dll с помощью Delphi? - страница 2

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Alexey Lopatin
39758
Alexey Lopatin  
elritmo:

Luptator , скажи а почему ты три раза вызываешь GetParent

Как я понимаю ты поднимаешься в иерархии окон на три выше ? Только вот зачем?

h_wnd:=GetParent(chart_hwnd);
if(h_wnd>0) then
GetWindowText(h_wnd,PAnsiChar(capt),7);
h_wnd:=GetParent(h_wnd);
h_wnd:=GetParent(h_wnd);

Писал давно. Еле вспомнил. (Ещё раз убедился в том, что нужно писать комментарии в коде.) Как я уже говорил, мне нужно было отображать в окне картинку. Предварительно иерархию окон я исследовал утилитой Spy++(Она входит в состав Visual Studio).Если родительским окном является окно графика, то при его обновлении обновляется и моё окно. При частом изменении цены происходит эффект мигнания. Поэтому я не привязал не к окну графика, а к его родителю.
Кажется, есть возможность устранить мигание другим способом.
Кстати, начал проверять библиотеку и обнаружил у себя ошибку. Когда вешаешь несколько моих индикаторов на несколько графиков, то при удалении этих индикаторов падает терминал.
Алексей
1563
Алексей  

В индикаторе у меня так и продолжает работает на миг появится моё окно и пропадает. Даже если сделать по твоему методу.

Но видимо есть какая то разница вызывать из индикатора или из эксперта функцию из длл которая показывает окно.

Хотя ShowMessage показывает диалогове окно в любом случае э то тоже окно типа диалог.

Сергей Мурзинов
159
Сергей Мурзинов  
elritmo:

Luptator , скажи а почему ты три раза вызываешь GetParent



 


Sergey_Murzinov, спрашивай в этой теме если что интересует



Все отлично разобрался.
Alexandra
231
Alexandra  

Danke!

спасибо!
Андрей
1890
Андрей  
elritmo >>:

В индикаторе у меня так и продолжает работает на миг появится моё окно и пропадает.

Можно вот так сделать: Запускается Exe-шник. Exe-шник создает окно (можно Stay On Top).

Ваша Dll ищет окно и использует сообщение WM_COPYDATA, чтобы передать данные.

harbor
121
harbor  
Подскажите, а как сделать наоборот, то есть передавать из екзешника данные через dll в советник?
harbor
121
harbor  

тоже запускается форма и пропадает

как победить то? 

Рустам
3597
Рустам  
harbor:

тоже запускается форма и пропадает

как победить то? 


  сделать ее модальной
harbor
121
harbor  
сделал модальной и в отдельном потоке, теперь все нормально работает, скрипт работает в цикле и получает данные с кнопок в dll 
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий