Внедрение в Осла посторонних объектов

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Внедрение в Осла посторонних объектов

Сообщение Antonariy » 23.03.2006 (Чт) 12:05

Не пугайтесь, ничего общего с зоофилией :D
Это собственно не вопрос, а информация к размышлению.

Заметил, что народ часто стал юзать IE, скриптконтрол, внедрять в него ословские объекты. Видимо пипл начал изучать возможности использования html в качестве пользовательского интерфейса вместо обычных кнопок, комбобоксов и т.п. Верной дорогой идете, товарищи! Возможности широчайшие (скоро по этому поводу выложу кое-что в проекты). Например, реализация части логики в скриптах, не требующих компилирования, следовательно легко модифицируемых под конкретные нужды. Достаточно подгрузить в скриптконтрол скрипты со странички и объекты, характерные для осла, а так же объекты собственно приложения, и возникает возможность из странички выполнять какие-то действия с классами самой программы. Кстати, эти классы не обязательно должны быть публичными, скриптконтрол прекрасно понимает и приватные.

Но в этой идилии есть пара неприятных моментов. Во-первых нужно отслеживать внутри программы каждый чих на страницу и по необходимости направлять его в скриптконтрол. Нельзя выполнять действия собственных объектов, например, в скрипте-обработчике события onclick (<td onclick="SomeScript()">), потому что onclick обрабатывает осел, не имеющий представления о пользовательских объектах.

Во-вторых скриптконтрол может работать только с одним скриптом за раз, или java или vb. Вызвать vbшную функцию из java, как в осле, нереально.

Но можно сделать все наоборот - внедрить свои объекты в контекст IE :!: И отказаться от скриптконтрола. Чтобы осел мог юзать пользовательские объекты, они должны быть публичными, в ActiveX dll или exe.

Довольно лирики! Все интересующиеся - геть до аттача.
Вложения
Скока время.rar
(6.95 Кб) Скачиваний: 138
Лучший способ понять что-то самому — объяснить это другому.

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Re: Внедрение в Осла посторонних объектов

Сообщение dr.MIG » 23.03.2006 (Чт) 19:29

Antonariy писал(а):Не пугайтесь, ничего общего с зоофилией :D

Хотя извращениями попахивает :lol:

Не задумывался никогда о способе, приведённом в примере.

Интересный пример.
Salus populi suprema lex

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 24.03.2006 (Пт) 9:44

На самом деле можно научить ie понимать чужие объекты через window.external, на msdn есть пример под названием Driller MFC, но он, как следует из названия, на C. Если кто-то может перевести его на человеческий (читай - vb), если это вообще возможно, буду признателен.

Вот ссылка - http://msdn.microsoft.com/archive/defau ... efault.asp
There are two Drill samples, both do the same thing, however one is written using MFC and the other is written using Visual Basic.
Это откровенный гон. То, что на vb - примитивный пример использования WebBrowser, а в сишном реализован вызов из скрипта window.external.xxyyzz().
Лучший способ понять что-то самому — объяснить это другому.

AjaxVS
Постоялец
Постоялец
 
Сообщения: 506
Зарегистрирован: 01.12.2004 (Ср) 13:12
Откуда: Donetsk, Battle.Net

Сообщение AjaxVS » 24.03.2006 (Пт) 20:55

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

Ну млин! А у меня вчера эта идея за завтраком в голову стакнула! Так, представьте, считал, что она оригинальная!
А примеры в проектах ждем с нетерпением! Good luck!

ЗЫ. Насчет "Скока время". Запрограммировано несколько неудачно.. Если после запуска exe сразу закрыть форму (че ты ее не спрятал?), а потом нажать кнопу "скока время", то начнут вылетать ошибки.. При повторных запусках - все ОК. Учти на будущее. За исходники very tnx!

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 26.03.2006 (Вс) 12:33

ЗЫ. Насчет "Скока время".
Главное было показать принцип, а с косяками умные люди сами разберутся. :wink:
Лучший способ понять что-то самому — объяснить это другому.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 188

    TopList