о ДДЕ - страница 2

 
Chen:
Для этого-то и нужно уметь работать с объектами, классами, декларировать их и события для них. Чего я не умею. .. Я - любитель.

Для этого не обязателоьтно работать с классами, объектами и их событиями. Достаточно одного события - изменения содержания текстового поля, но оно реализовано в VB - надо только пользоваться.
 
Integer:


Для этого не обязателоьтно работать с классами, объектами и их событиями. Достаточно одного события - изменения содержания текстового поля, но оно реализовано в VB - надо только пользоваться.

Содержательный ответ. Ничего не скажешь. Образчик кода есть? Чо ты куражишься по пустоте? От того, что ты мне десять раз укажешь на то, что я лох, а не программер, я лучше не стану. Насколько я лох в этом вопрося я знаю значительно больше, чем ты можешь догадываться. От моего невежества в этом вопросе у тебя знаний не прибавится.

Ткни меня носом в код, если не хочешь объяснять. Я бы понял, что меня динамят, если бы задавал тысячи раз звучавший вопрос и ответы на который уже оскомину набили. Дал повод покуражиться - глумись, пока бесплатно. А лучше, как в том анекдоте, "Не выфакивайся, а пальцем покажи!" А ты: "Надо только пользоваться" Чо не написал "уметь пользоваться"? Зажал знания? ОК. Зачем тогда в диалог-то вступать? Отправил бы меня сразу маны курить по VB и успокоилось бы все на этом... Может этим все объясняется?

Пишу на MQL4 индикаторы, эксперты, скрипты. Дорого и с предоплатой

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

То что "события-классы-объекты", это только суть мои догадки и предположения. Я, как лох в программировании, могу и должен ошибаться. Какое, козе в трещину, текстовое поле?! Где оно описано или должно быть описано? В канале, содержимое которого ты предложил получать по реквесту? Или в EXcel'e?

Я уже в десяти местах описАл проблему. Есть DDE-канал. Можем его инициировать. Как узнать, что пришли новые данные, используя не запрос к нему, а само это событие? ПотОм считать эти данные и оттранслировать туда, куда душа захочет.

Так, как делает это Excel, млин! Но все предложения дальше отслеживания события в Excel'e не идут. Там можно отследить событие для листа, но не для ячейки. Под каждый инструмент свой лист создавать или чохом все биды записывать? А на нервном рынке? Сколько тиков будет потеряно?

Вобщем ясно. Тривиальную для мало-мальски опытного программера решить невозможно, кроме как за лавэ.

Постановку задачи меняем. How much the fish?

 
Chen:

Постановку задачи меняем. How much the fish?


Достаточно открыть дверцу холодильника - рыбка уже там.

Так и не понял как вы собираетесь это реализовывать. Если на VB, то на форме создается текстове поле, кликните на этом поле два раза и окажитесь в обработчике события TextChange.

а это

Text1.LinkMode = 0
Text1.LinkTopic = "MT4|BID"
Text1.LinkItem = "EURUSD"
Text1.LinkMode = 1
Text1.LinkRequest

в событие formload. только сначала терминал надо запускать, а потом эту программу.

 
Integer:

Достаточно открыть дверцу холодильника - рыбка уже там.

ОК.

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

Вы предлагаете оперировать данными на уровне связей формы (или текстового поля? по-мОему все-таки формы). Но это суть то же, что и на уровне связей книги Excel. Ясен перец, что VB-форма будет более экономична по ресурсам, чем Excel. Но это единственное преимущество. Нет. Есть еще одно. То, что в форме мы можем реагировать на событие каждого, отдельно взятого поля, а в Excel (если в лоб, без прибамбасов) тоько событиями листа в целом (иначе надо каждую , интересующую нас ячейку, как-то декларировать и события для нее тоже). Штатные средства дают доступ к этим данным только на высоком уровне.

Моя же мысль заключалась в том, чтобы (еще одна ее интерпретация) избежать посредника (в виде формы VB или листа Excel). Ведь есть в VBA код, который дает доступ не к связи, построенной на DDE-канале, а к самому каналу. Видимо, схожий д.б. и в VB. Почему же не брать данные непосредственно из канала, как это делает то же поле или ячейка? Может наличие связи между источником и получателем является необходимым условием для получения данных? Просто таков механизм доступа на высоком уровне, предлагаемый в виде штатного решения?

Так не хочется погружаться в это :(( Мне это оказалось нужно в первый и, клянусь!, в последний раз в этой жизни. Тем более, что и сам MS декларирует эту технологию устаревшей и бесперспективной.

И (для любопытства) вопрос по приведенному Вами коду. А пуркуа каждый раз при TextChange переустанавливать параметры уже наложенной связи? Задали их один раз, или, на худой конец, переустановили при FormLoad для подстраховки?

 
И еще. Ведь над всем этим механизмом реализации DDE, по-любому смотрящей стоит какая-то библиотека. Не знаете на вскидку? Ка бы к ней получить доступ на уровне ниже листов и форм?
 
И эта библиотека - DDEML
 

Альберт Эйнштейн в свое время сказал - "Делайте все как можно проще, но не проще возможного". Использование формы с текстовыми полями позволяет решить поставленную задачу. Иначе с вашим подходом вам лучше все бросить и заняться изучением ассемблера, иначе довольны не будете никогда.

 
Integer:

Альберт Эйнштейн ...


Ну как с этим спорить? Когда упрощение становится самоцелью и за ней теряется главная, конечная цель. Почему бы и не поле в форме? Я пытался максимально эффективно загнать большой поток данных в текстовый файл, избавившись от нежелательных посредников. А дальше-то я с ним что делаю? Загоняю в Access! Там кручу-верчу-причесываю, чтобы обратно получить приемлемый для того или иного случая текстовый формат.

Вот там-то Ваша формочка и пригАдится. Только ответьте мне, плз, на последний вопрос по коду ("Пуркуа..." etc.)

Ассемблер... Насмотрелся я в свое время на зомби, пишущих в машинных кодах... Это когда компьютеры были большИе.