Вверх ↑
Этот топик читают: Гость
Ответов: 345
Рейтинг: 1
#1: 2011-04-28 09:18:22 ЛС | профиль | цитата
после замены кода веббраузера на мозилу перестала работать схема отображение на картинке страницы браузера. в чем ошибка моя?
code_23589.txt
Делал на мозиле как описано в посте
Замена движка в hiWebBrowser c IE на Gecko.
1. Скачиваем и устанавливаем Mozila ActiveX Control(Как это делается написано в первом посте Dilm'ы)
2. Скачиваем и распаковываем в папку %Hiasm%\Elements\Delphi\Code архив mozillacontrollib_tlbkol.rar
3. Открываем %Hiasm%\Elements\Delphi\Code\hiWebBrowser.pas и заменяем 65 строку на "uses MOZILLACONTROLLib_TLBKOL, Windows;"(без кавычек)
и 69, 68 на
TKOLWebBrowser = PMozillaBrowser;
PKOLWebBrowser = PMozillaBrowser;

Соответственно.
4. Сохраняем

карма: 0

0
файлы: 1code_23589.txt [5.9KB] [194]
Ответов: 3889
Рейтинг: 362
#2: 2011-04-28 09:34:44 ЛС | профиль | цитата
Она и с IE не особо работает, красиво вылетает с критической ошибкой.
карма: 1

0
Ответов: 345
Рейтинг: 1
#3: 2011-04-28 09:39:21 ЛС | профиль | цитата
1nd1g0, до того как код не поменял на мозилу работала только выдавала ошибку отработки ява скрипта.
карма: 0

0
Ответов: 3889
Рейтинг: 362
#4: 2011-04-28 09:49:24 ЛС | профиль | цитата
DRON, проверяю на IE8 (WinXP SP3): то, что я скопировал с первого поста, заработало только, когда я сделал принудительный doNavigate, но благополучно вылетает через некоторое время с критической ошибкой. Видимо, где-то переполнение или вечный цикл.
------------ Дoбавленo в 09.49:
И у Вас избыточность действий, в потоке с поля Edit и так передаётся URL, не обязательно его досылать сверху в браузер. И поле ввода как память использовать не стоит, ИМХО.
карма: 1

0
Ответов: 345
Рейтинг: 1
#5: 2011-04-28 09:51:45 ЛС | профиль | цитата
1nd1g0, данную схему собирал давно но потом начала выходить ошибка скриптов



вот полная схема которая работает и компилится до переделки браузера
http://forum.hiasm.com/forum_serv.php?q=56&id=2334
карма: 0

0
Ответов: 3889
Рейтинг: 362
#6: 2011-04-28 10:01:59 ЛС | профиль | цитата
DRON, как именно не работает? Отдельно от схемы работает движок? Все методы и свойства?
карма: 1

0
Ответов: 345
Рейтинг: 1
#7: 2011-04-28 10:19:45 ЛС | профиль | цитата
1nd1g0, не работает отображение картинки страницы с браузера в первом примере там есть вариант до переделки тоесть само окно браузера не показвается а показывается на избражении сама страница которая на браузере.
------------ Дoбавленo в 10.09:
1nd1g0, на схеме компонент IMG должен отображать страницу браузера

Add(ScreenShort,3437107,672,189)
{
link(Handle,10325837:Var1,[(678,184)(755,184)])
link(onCapture,11302302:doCopy,[])
}
Add(ChildForm,10325837,749,147)
{
link(onEvent1,6495033:doCase,[])
link(Data1,3725611:Text,[(755,135)(699,135)(699,198)(587,198)])
}
BEGIN_SDK
Add(EditMulti,2548047,10,10)
{
EventCount=1
WorkCount=2
DataCount=1
VarCount=3
Height=137
link(doWork1,12890744:doNavigate,[(143,27)(143,76)])
link(doWork2,12890744:doRefresh,[(143,34)(143,83)])
link(Var1,12890744:Handle,[(27,130)(300,130)])
link(Var2,12890744:Width,[(34,130)(293,130)])
link(Var3,12890744:Height,[(41,144)(286,144)])
}
Add(MainForm,11795443,35,49)
{
Left=35
Top=105
Width=819
Height=673
AlphaBlendValue=0
BorderStyle=6
WindowsState=2
ClientSize=0
}
Add(WebBrowser,12890744,266,70)
{
Left=395
Top=95
URL="www.servis4x4.ru"
Point(Height)
Point(Width)
Point(Handle)
link(URL,2548047:Data1,[(272,46)(27,46)])
}
END_SDK
Add(Resize,9041078,749,189)
{
Width=200
Height=200
link(onResult,12694449:doLoad,[])
}
Add(Case,6495033,791,147)
{
Value=String(Готово)
link(onTrue,3291451:doEvent1,[(835,160)(835,132)(800,132)(800,167)])
}
Add(Img_Copy,11302302,707,189)
{
Point(Width)
Point(Height)
link(onCopy,9041078:doResize,[])
link(Width,15783931:Result,[(734,180)(678,180)])
link(Height,7465581:Result,[(741,180)(713,180)])
}
Add(Math,15783931,672,147)
{
OpType=1
Op2=20
link(Op1,10325837:Var2,[(678,139)(762,139)])
}
Add(Math,7465581,707,147)
{
OpType=1
Op2=20
link(Op1,10325837:Var3,[(713,184)(769,184)])
}
Add(Hub,3291451,826,161)
{
OutCount=3
link(onEvent1,15283991:doStart,[(852,167)(852,181)(625,181)(625,195)])
link(onEvent2,15783931:doOperation,[(852,174)(852,164)(660,164)(660,153)])
link(onEvent3,7465581:doOperation,[(852,181)(852,167)(695,167)(695,153)])
}
Add(Thread,15283991,637,189)
{
FastStop=0
link(onExec,3437107:doCapture,[])
}
Add(InfoTip,15339653,609,105)
{
Info=#19:отображение страниц|
Width=267
Height=144
}
Add(Button,6361084,329,126)
{
Left=10
Top=10
link(onClick,10325837:doWork2,[(555,132)(555,160)])
}
Add(Edit,3725611,581,49)
{
Left=253
Top=36
Width=290
Height=21
Text="http://dronsoft.ru/"
link(onEnter,10325837:doWork1,[(681,62)(681,153)])
}
Add(Image,12694449,791,189)
{
Left=255
Top=113
Width=170
Height=165
Ctl3D=0
}


------------ Дoбавленo в 10.18:
Все нашел косяк с отображением страницы
------------ Дoбавленo в 10.19:
А хотя нет в старой версии HIasm работает а в новой нет.
карма: 0

0
Ответов: 3889
Рейтинг: 362
#8: 2011-04-28 13:14:47 ЛС | профиль | цитата
На данный момент не смогу проверить схему с движком Gecko, потому могу лишь предполагать и советовать. Проверьте передаётся ли истиный handle окна скриншутеру, не нулевые ли размеры. И вы так и не ответили, нормально ли работает модифицированный браузер в простейших схемах.

Ну и последнее предположение, которое мне пока не проверить на практике, новый движок мозиллы поддерживает аппаратное ускорение графики, есть ничтожный шанс, что там отрисовка идёт не в плоскости GDI, а, например, в оверлее. Скриншутер в таком случае будет "снимать" лишь прямоугольник с ключевым цветом оверлея. Ещё раз отмечу, что требует проверки.
карма: 1

0
Ответов: 345
Рейтинг: 1
#9: 2011-04-28 14:03:17 ЛС | профиль | цитата
1nd1g0,
нормально ли работает модифицированный браузер в простейших схемах.
работает
карма: 0

0
Ответов: 3889
Рейтинг: 362
#10: 2011-04-28 14:35:23 ЛС | профиль | цитата
DRON, попробуйте сделать скриншот формы браузера и сохранить в файл. Вообще, сперва снимите все свойства - размеры формы WebBrowser, её handle и выведите в лог. Также можно поставить точку останова и в режиме отладки отследить потоки с WebBrowser в скриншутер.
карма: 1

0
Ответов: 345
Рейтинг: 1
#11: 2011-04-28 22:22:02 ЛС | профиль | цитата
1nd1g0, хороше попробую
карма: 0

0
Ответов: 345
Рейтинг: 1
#12: 2011-05-02 20:27:51 ЛС | профиль | цитата
1nd1g0, что то у меня вообще не копилится и не запускатеся в отладке схема

карма: 0

0
Ответов: 3889
Рейтинг: 362
#13: 2011-05-02 20:56:53 ЛС | профиль | цитата
Что в логе отладки и списке ошибок? Дословно скопировать сюда под тег scroll
карма: 1

0
Ответов: 345
Рейтинг: 1
#14: 2011-05-02 21:15:19 ЛС | профиль | цитата
1nd1g0, отладка [flood]Подготовка к сборке проекта...
Генерация кода целевого языка
Компоновка проекта...
Command line: dcc32.exe "F:\с диска Д\Windows.old\Program Files\HiAsm\Elements\delphi\code\Project1.dpr" "-UF:\с диска Д\Windows.old\Program Files\HiAsm\My\mozbrowser\." -Q
Borland Delphi Version 12.0 Copyright (c) 1983,98 Inprise Corporation

F:\с диска Д\Windows.old\Program Files\HiAsm\Elements\delphi\code\WinLayout.pas(159) Warning: Variable 'd' might not have been initialized

F:\с диска Д\Windows.old\Program Files\HiAsm\Elements\delphi\code\WinLayout.pas(176) Warning: Variable 'd' might not have been initialized

F:\с диска Д\Windows.old\Program Files\HiAsm\Elements\delphi\code\WinLayout.pas(40) Hint: Private symbol '_onObjDestroy' declared but never used

F:\с диска Д\Windows.old\Program Files\HiAsm\Elements\delphi\code\hiMainForm_37CFF40.pas(22) Fatal: File not found: 'hiWebBrowser.dcu'
Сборка завершена.
[/flood]
Ошибок нет
------------ Дoбавленo в 21.15:
1nd1g0, вот с другого места Отладка
[flood]Подготовка к сборке проекта...
Генерация кода целевого языка
Компоновка проекта...
Command line: dcc32.exe "C:\Program Files\HiAsm\Elements\delphi\code\крутилка1-1.dpr" "-UC:\Program Files\HiAsm\My\mozbrowser\." -Q
Borland Delphi Version 12.0 Copyright (c) 1983,98 Inprise Corporation

C:\Program Files\HiAsm\Elements\delphi\code\WinLayout.pas(159) Warning: Variable 'd' might not have been initialized

C:\Program Files\HiAsm\Elements\delphi\code\WinLayout.pas(176) Warning: Variable 'd' might not have been initialized

C:\Program Files\HiAsm\Elements\delphi\code\WinLayout.pas(40) Hint: Private symbol '_onObjDestroy' declared but never used

KOLComObj.pas(1614) Hint: Value assigned to 'Status' never used

KOLComObj.pas(2337) Hint: Value assigned to 'SaveInitProc' never used

ActiveKOL.pas(565) Warning: Return value of function 'TEnumPropDesc.StringToValue' might be undefined
18666 lines, 0.16 seconds, 113364 bytes code, 3313 bytes data.
Сборка завершена.
[/flood]
тут программа запускается но отображения картинки нет

карма: 0

0
Ответов: 3889
Рейтинг: 362
#15: 2011-05-02 21:29:39 ЛС | профиль | цитата
DRON, ошибки вроде как раз есть - не собрался браузер:
File not found: 'hiWebBrowser.dcu'


Попробуйте запустить HiAsm по короткому пути без пробелов,точек и русских букв сперва, может компилятор не переварил ваше "F:\с диска Д\Windows.old\Program Files\HiAsm\Elements\delphi\code\hiMainForm_37CFF40.pas"
карма: 1

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)