MQL4 - automated forex trading   /  

Форум

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

К списку тем  | 1 2 Авторизуйтесь или зарегистрируйтесь, чтобы создать новую тему

avatar
173
Luptator 25.06.2007 18:22 
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).Если родительским окном является окно графика, то при его обновлении обновляется и моё окно. При частом изменении цены происходит эффект мигнания. Поэтому я не привязал не к окну графика, а к его родителю.
Кажется, есть возможность устранить мигание другим способом.
Кстати, начал проверять библиотеку и обнаружил у себя ошибку. Когда вешаешь несколько моих индикаторов на несколько графиков, то при удалении этих индикаторов падает терминал.



avatar
753
elritmo 25.06.2007 18:44 

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

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

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


avatar
89
Sergey_Murzinov 25.06.2007 19:08 
elritmo писал (а):

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



 


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



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

avatar
165
FinGeR 10.01.2009 01:11 

Danke!

спасибо!

avatar
492
jartmailru 10.01.2009 12:39 
elritmo писал(а) >>

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

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

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

К списку тем   | 1 2  

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