CHtmlView или WebBrowser на чарте (и другие features) - страница 4

 
sergeev:

наверно. есть случаи что так стоит сделать ?

Хм. Создайте диалог с одной кнопкой- и на нее нажмите.
Почти уверен что терминал упадёт.
 
jartmailru:
Хм. Создайте диалог с одной кнопкой- и на нее нажмите.
Почти уверен что терминал упадёт.

нет не падает. всё нормально работает. на скрине на предыдущей странице я даже не кнопку а элемент "ColorList" поставил. И закрывается диалог адекватно по Ок или Cancel

вобщем проблема в интернет компонентах.

 

Сделал открытие диалога из отдельного потока CWinThread.
контрол не создался... :(
шайзе

 
У меня Dll-ки обычно такие:
там есть возможность дергать функции как "совсем" снаружи
(в этом случае для UI поднимается отдельный поток)-

так и тупо из командной строки, команда RunDll32 MyDll,ВходнаяФункция
В этом случае Dll поднимает UI и поток не создает- работает в потоке вызова.
Дык вот... UI должен подниматься в любом случае.
При этом д.б. понятно, что для текущего потока
должен быть выполнен CoInitialize и "подняты" инстансы MFC.

Если не поднимется даже из командной строки-
в терминале работать- не должно!
 
Есть такая украинская поговорка: "Как до утки, на седьмые сутки".
Только сейчас смог придумать пример, для которого нужен браузер в окне МТ.
Вариант:
 

В принципе информацию можно получать (с некоторой долей труда) и без браузера. Читая и распарсивая прочитанную страницу. Но не всю информацию можно предоставить графикой MQL.

К тому же наличие браузера в МТ расширит возможности коммуникации.

 

Подскажите по такому вопросу.

В начале темы был прикреплен проект написанный на чистом С. В нем создаётся IWebBrowser2 в указанном хендле окна.
Как можно функции этого проекта перетянуть в DLL ?

Пытался просто скопировать в новую созданную DLL, но всплывает очень много ошибок
error C2146: syntax error : missing ';' before identifier 'IWebBrowser'

указывает на строку

typedef interface IWebBrowser IWebBrowser;

я так понимаю, что это из за несовместимости C и С++ подключаемых файлов или определяемых #define

------

PS из проекта нужен единственный файл Simple.c

Файлы:
simple.zip  17 kb
 

Если закоментарить строку

// #define WIN32_LEAN_AND_MEAN

то появляется единственная ошибка - не определено IOleInPlaceFrameVtbl

в файле где находится это описание OLEIDL.H определение данного типа скрыто за

#if defined(__cplusplus) && !defined(CINTERFACE)
...
...
#else
typedef struct IOleInPlaceFrameVtbl


но даже #defined CINTERFACE не помогает

 

Что касается применения, могу также выдвинуть свои предложения. Если торгуете не только на форексе, но и на фьючерсах - была бы весьма полезной информация об экспирациях, действительно как сказал granit новости (причём помимо этой могу порекомендовать ещё одну флеш-вариацию новостей, тоже удобную), стакан с биржи (для проверки реальных бид-асков(есть веб-версии)), даты экспираций контрактов. Если торгуете акциями - скринеры и т.п. Варианты реализаций тоже могу предложить.

То есть по сути цель применения исходит из торгуемых рынков и задач. Могу сказать по себе - у меня висит окно браузера при работе, что не есть удобно. Если бы в МТ вместо графика во "вкладках" можно было открывать окна браузера, было бы мощно, что и говорить.

Единственно в этом моменте не очень гуд, реализация браузерного окна идёт через IE. Сколько софта поюзал, в том числе и hand-made, это достаточно медлительное решение. Хотя во многих платформах нехватает именно браузерного окна.

P.S. Не в рекламу будет сказано, загляните в терминал с картинки. Там есть приблуда-стакан, которая и отцепляется, и перемещается. Жаль, что работает только с NDD этого брокера, что для меня означает 0 пользы. Зато свидетельствует о возможности реализации различных фич даже под МТ4. Что до окна браузера, то ему можно найти массу применений:

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