Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Трабла такая, делаю касивую менюшку и вывожу в WebBrowser на клик каждой кнопке
Quote
.вешаю код хтмл: .<a href="neobook:SetVar %22nn%22 %22[i]%22%0DGoSub %22dbGoto%22">ok</a> .в подпрограмме код: dbfGotoRecord "[dir]db.dbf" "[nn]" .при тесте вылетает ошибка .The dbfGotoRecord action cannot originate from a Web Browser link.
Немогу понять причем тут браузер, я же не в линке прописал код, вызывается через подпрограммУ.... блин, и как же мне запустить dbfGotoRecord из WebBrowser
Вообще, в Delphi есть такое поняте как Sender (источник, посылающий). В данном случае можно провести аналогию: подпрограмма вызывается из браузера, но подпрограмма заканчивается командой Return, т.е управление возвращается обратно в браузер, поэтому для отладчика (и для подпрограммы), так сказать "источником" является объект браузер. В NeoBook имя "источника"содержится в переменной [Self], и если отправить в подпрограмму через [Self] имя "источника" (неважно какого, кнопки например), то оно аккурат и будет именем того объекта из которого подпрограмма вызвана. Видимо, для плагина, и его команды dbfGotoRecord, это критично и недопустимо.
Добавлено (26 Сентябрь 2010, 21:49) --------------------------------------------- Да и ещё просьба: необушный код НЕ ЗАКЛЮЧАТЬ в ММВ-шные тэги "код"! Похабится все только и читать неудобно очень!
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Попробуй через таймер. Правда, порнотень может получится, но пока ничего на ум не приходит... Можно ещё с'имитировать клик по кнопке...
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
попробуй не так делать, зачем ты выводишь через ссылку? забудь про neobook:, повесь функцию на событие onclick="dbfRun ()" (или a href=) а в функции опиши событие перехода к подпрограмме function dbfRun () { window.external.nbExecAction( 'GoSub "dbGoto"' ); }
можно еще попробовать спрятать вызов процедуры внутри другой процедуры
попробуй не так делать, зачем ты выводишь через ссылку? забудь про neobook:, повесь это на событие onclick="dbfRun ()" (или a href=)
да все варианты проюзаны, тут дело не в методе передачи, а как сказал Петр, сам объект.... Жалко, что не получилось, но пока пользуюсь листбоксом. И весь гемор то из-за того, что НБ не может генерировать кнопки
ну че никак не обмануть чтоли? если метод такой, то ладно, а если просто проверка гдето идет и тупо отказывает, то можно пробовать еще что нибудь. Как задавать вопросы
Дата: Пн, 27 Сентября 2010, 08:53 | Сообщение # 10
Необукер
Проверенные
Сообщений: 4238
Offline
Quote (mishem)
Сергей, Напиши код нормально в шапке
так это и есть нормальный код или у тебя другой там всего одна строчка dbfGotoRecord "[dir]db.dbf" "[nn]" и хтмл <a href="neobook:SetVar %22nn%22 %22[i]%22%0DGoSub %22dbGoto%22">ok</a> Другого я не знаю Добавлено (27 Сентябрь 2010, 08:53) ---------------------------------------------
Quote (DEMBEL)
ну че никак не обмануть чтоли?
неа, никак Попробывал через флеш, там все норм, без проблем, хотя код такой же herf=neobook:GoSub %22dbGoto%22, получается, что через WB к ссылке еще что то добовляется, и плагин выпадает в осадок
Сообщение отредактировано Сергей - Пн, 27 Сентября 2010, 08:57
Я вот это не могу понять, опиши пошагово что она делает? Присвоил переменной нн чего? что такое i?
Добавлено (27 Сентябрь 2010, 09:28) --------------------------------------------- Все, похоже понял. Теперь и выше посты понятны. Иногда полезно самому с собой поговорить.
Добавлено (27 Сентябрь 2010, 09:34) --------------------------------------------- Это, а если без подпрограммы? Сразу dbfGotoRecord "[dir]db.dbf" "[nn]", так не, не пойдет?
Дата: Пн, 27 Сентября 2010, 10:26 | Сообщение # 14
Необукер
Проверенные
Сообщений: 4238
Offline
Quote (mishem)
Я вот это не могу понять, опиши пошагово что она делает?
ooo, это дофига делов, я не осилю, почитай в хелпе --> Панель инструментов --> Инструмент "Web Browser" --> Включение в код HTML-документа команд NeoBook там все понятно расписано, а букофка i означает порядок/номер/индификатор (в обработке цикла)
Дата: Пн, 27 Сентября 2010, 11:31 | Сообщение # 16
Эксперт форума
Модераторы
Сообщений: 5942
Offline
Quote (Сергей)
mishem, давай сразу, то, что скрыто в глубине истины
Для меня веббраузер темный лес, хелп сейчас читать некогда. Я пока еще работаю, ближе к концу осени дома засяду, тогда мож и почитаю. Сейчас приехал, хочу выпить Уже пьян, ну и между делом.. А вдруг... DEMBEL, вон правильно подсказывает, с сылкой не дружит, переиначить надо. Браузер посылает в одно место ( ) То место в другое и т.д. Глядищь, конечный пункт назначения найдется. Так, все в спойлер.
Дата: Пн, 27 Сентября 2010, 12:14 | Сообщение # 17
Наш дизайнер
Администраторы
Сообщений: 5959
Offline
щас я наблюдаю одну интересную картину - открываю один и тот же html-файл (у меня там менюшка) в браузере IE8 и необушном обьекте - отображается по разному. откуда-то в нб вылезает лишний отступ в 1px между блоками, а в ie нет. чудеса. движок-то один и тот же
Дата: Вт, 28 Сентября 2010, 20:43 | Сообщение # 23
Эксперт форума
Модераторы
Сообщений: 5942
Offline
Сергей, или я туплю, или ты не поймешь. Строка то одна, но команд много яВполне возможно что Нб не может Переварить их.Это как вариант, мож я и ошибаюсь.Через ссылку дай команду на подпрграмму, а в подпрограмме уже все остальные команды. Не хочешь читать хелп?
Мая твоя непонимай Мужики, энта фигня %22nn%22 %22 чиста хтмльное кодирование символов, его так сразу не толька нб непоймет но даже я. Пишите понятными человеку и НБ символами, используя латиницу, и будет вам благо Если это мудрено, просто используйте вызов функции с параметрами,в общем не зная тонкостей НБ точнее не скажу, но дело именно в разном синтаксисе хтмл и НБ, и тут нада поизвращатся, в ммб та же фигня, я потел немерянно пока сладил с подобным. Но хтмл с явой дают множество вариантов, попробуйте слеши, хекс кодирование, в общем пробуйте.
Дата: Вт, 28 Сентября 2010, 22:37 | Сообщение # 26
Необукер
Проверенные
Сообщений: 4238
Offline
Quote (Alex3A)
Мужики, энта фигня %22nn%22 %22 чиста хтмльное кодирование символов
скорее это для НБ, т.е. это означает квадратные скобки, по другому НБ не понимает, т.к. переменые в НБ надо заключать в квадратные скобки и в Нб уже из хтмл поступает строка такого вида:
Дата: Вт, 28 Сентября 2010, 22:44 | Сообщение # 27
Админ NeoBook
Администраторы
Сообщений: 7425
Offline
Quote (Сергей)
да, тему можно закрыть
Да, похоже, что так и надо было сделать... Ладно, чуток обождем... С часик...
Проблема здесь не в синтаксисе, а в том, что команду dbfGotoRecord НЕЛЬЗЯ вызывать из объекта броузер, а точнее - как ссылку из него! Об этом черным-по-белому написано в отладчике (см. первый пост).
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Дата: Ср, 29 Сентября 2010, 03:07 | Сообщение # 29
Админ NeoBook
Администраторы
Сообщений: 7425
Offline
Quote (Сергей)
я отказался от варианта из хтмл, пожервуем красотой....
Что ж, можно и так... Жаль конечно, но выше головы не прыгнешь. Проблема лишний раз доказывает, что HTML вовсе не так "универсален", как иногда кажется. А имитация всегда будет лишь имитацией.
Может, когда-нибудь, и найдется решение, а пока... Закроем тему!
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться