Конференция "Прочее" » Delphi и Gecko
 
  • DVM © (08.08.08 16:17) [20]

    > расширения тормозят.

    Да я бы не сказал. Не без глюков мелких конечно, но работает нормально.
  • ketmar © (08.08.08 16:19) [21]
    >[20] DVM © (2008-08-08 16:17:00)
    а я не только сказал, но и вижу. тормозит неимоверно. а опера — нет.

    ---
    Do what thou wilt shall be the whole of the Law.
  • DVM © (08.08.08 16:30) [22]

    > ketmar ©   (08.08.08 16:19) [21]


    > а я не только сказал, но и вижу.

    А я думаешь это придумал?
  • ketmar © (08.08.08 16:36) [23]
    >[22] DVM © (2008-08-08 16:30:00)
    отойди от своего гигагерцового покемона и поставь оперу на pIII/600. и тормозиллу туда же. увидишь.

    ---
    Understanding is not required. Only obedience.
  • DVM © (08.08.08 16:40) [24]

    > ketmar ©   (08.08.08 16:36) [23]

    то же самое тебе могу посоветовать поставить на 386DX40. Ну или на P100.
  • DVM © (08.08.08 16:41) [25]

    > отойди от своего гигагерцового покемона и поставь оперу
    > на pIII/600.

    Мыши плакали, кололись, но продолжали есть кактусы.
  • ketmar © (08.08.08 16:50) [26]
    >[25] DVM © (2008-08-08 16:41:00)
    если у меня весь нормальный софт работает быстро — не вижу причины покупать покемона. ненормальный софт просто сношу.

    ---
    Do what thou wilt shall be the whole of the Law.
  • Городской Шаман (08.08.08 19:25) [27]
    Ну вот собственно фича IE, которую не выкрутить даже напильником, так как доступа к исходникам нет, а настройке не поддаётся.

    http://pda.delphimaster.net/?id=1218208042&n=5

    Причём многие сталкиваются с этой проблемой.
  • Городской Шаман (08.08.08 20:54) [28]
    Ну вот, так и знал, что это не баг, и особая микрософтовская фича :(
  • iZEN © (09.08.08 10:29) [29]

    > ketmar ©   (08.08.08 16:50) [26]
    >
    > >[25] DVM © (2008-08-08 16:41:00)
    > если у меня весь нормальный софт работает быстро — не вижу
    > причины покупать покемона. ненормальный софт просто сношу.

    Небось Gentoo свою неделю компилируешь и до ума доводишь.
    А я свою FreeBSD (+ПО) за несколько часов с нуля из исходников собираю на 2,8 "гигагерцовом покемоне".
  • Пробегал2.... (09.08.08 11:08) [30]
    Gecko хорош тем, что он есть и под *nix. Если пишется кроссплатформенное и нужен движок браузера - удобно.
  • Городской Шаман (09.08.08 16:24) [31]

    > Пробегал2....   (09.08.08 11:08) [30]
    >
    > Gecko хорош тем, что он есть и под *nix. Если пишется кроссплатформенное
    > и нужен движок браузера - удобно.


    У Гекко почти нет документации (или она скудная) но есть исходники в которых комментарии выступают за документацию.

    У Trident(IE) есть документация, но она верна всего на 80%, остальное нужно домысливать и проверять экспериментами. В общем работает не по стандарту, а как Биллу схотелось. Ну а исходники, думаю, я даже не хотел бы их видеть, если бы они были в открытом доступе.

    IE хорошо - кинул компоненту на форму, прикрутил 5 кнопок и гордишься своим собственным браузером.

    С Gecko немного сложнее, но изменить можно все, хоть броузер в 3D сделать можно.
  • Правильный$Вася (09.08.08 20:13) [32]

    > Gecko

    а у меня почему-то другие ассоциации вызывает
    Fallout...
  • Пробегал2.... (09.08.08 22:54) [33]
    Городской Шаман   (09.08.08 16:24) [31]

    не понимаю зачем ты выделил мою цитату. Обычно цитируют, когда отвечают на нее... Твой пост вполне автономный ;)
  • iZEN © (09.08.08 23:52) [34]

    > Пробегал2....   (09.08.08 11:08) [30]
    >
    > Gecko хорош тем, что он есть и под *nix. Если пишется кроссплатформенное
    > и нужен движок браузера - удобно.

    Н, да.

    Сейчас собираю Eclipse 3.2.2 из порта под FreeBSD. В зависимостях оказался xulrunner-1.8.0.4. Появилось окошко конфигурации, где была опция "Enable JAVA xpcom". Посчитал ненужной...
    http://www.mozilla.org/projects/blackwood/overview.html
  • Городской Шаман (10.08.08 00:14) [35]

    > Пробегал2....   (09.08.08 22:54) [33]
    >
    > Городской Шаман   (09.08.08 16:24) [31]
    >
    > не понимаю зачем ты выделил мою цитату. Обычно цитируют,
    >  когда отвечают на нее... Твой пост вполне автономный ;)


    Я к тому что Gecko хорошо, когда ты не знаешь на какой машине будет работать твоё приложение, а поведение встроенного броузера должно быть чётко детерминированным, а не хитрофичным как IE. Так что использование Gecko выгодно не только в случае кросплатформенных приложений, а когда есть желание перестать винить компилятор и систему в глюках твоей программы.
  • Пробегал2.... (10.08.08 00:24) [36]
    не знаю, сколько не использовал компонент TWebBrowser - все четко.
    Еще четче в компоненте TEmbeddedWB. А если туда прикрутить модуль от Nikkie, то все вообще шоколадно ;)

    Если же ты говоришь с точки зрения именно разработчиков таких компонент, что их сложно писать - ну может быть, не знаю.

    Хотя скажу, что у MS очень четко документация совпадает с практикой. Если ты реально нашел расхождение документации MS с поведением программ - пиши, я уверен все быстро поправят, или функционал, или документацию.
    Другое дело, что не всегда по стандартам внешним они работают, но это уже другое. Такой монстр работая не по стандарту может легко нечаянно создать другой стандарт и тогда уже вроде получается, как все хорошо ;)
  • Городской Шаман (10.08.08 01:11) [37]

    > Пробегал2....   (10.08.08 00:24) [36]


    Например эту проблему не решил
    http://pda.delphimaster.net/?id=1218208042&n=5

    Ну и остальные есть сложности, например если раз использовать компонент TwebBrowser в своем приложении то после его уничтожения память не освобождается (библиотеки не выгружаются).

    А мне всего лишь для снапшотов и содержимого сайтов. Так как идёт чтение многих сайтов то мигающий курсор может раздражать пользователя.

    Если создавать как CoInternenExplorer.Create, то невозможно извлечь у документа рендер или IViewObject. HWND, возвращаемый IWebBrowser2 этим IE тоже какой-то левый.
  • Пробегал2.... (10.08.08 01:43) [38]
    Городской Шаман   (10.08.08 1:11) [37]
    Например эту проблему не решил
    [TWebBrowser отключить смену курсора вне окна компонента.]


    ну это говорит только о том, что ты ее не решил ;)
    Например, в Maxhton очевидно решили. Там пока грузится сайт тоже курсор становится песочными часами. Но стоит двинуть мышку - курсор сразу становится обычным...

    Пробовал опять же менять Screen.Cursor после начала навигации?

    Городской Шаман   (10.08.08 1:11) [37]
    Ну и остальные есть сложности, например если раз использовать компонент TwebBrowser в своем приложении то после его уничтожения память не освобождается (библиотеки не выгружаются).


    ээээ... А с каких пор вообще библиотеки прилинкованные статично выгружаются?
  • Городской Шаман (10.08.08 02:27) [39]

    > Пробегал2....   (10.08.08 01:43) [38]
    >
    > Городской Шаман   (10.08.08 1:11) [37]
    > Например эту проблему не решил
    > [TWebBrowser отключить смену курсора вне окна компонента.
    > ]
    >
    > ну это говорит только о том, что ты ее не решил ;)
    > Например, в Maxhton очевидно решили. Там пока грузится сайт
    > тоже курсор становится песочными часами. Но стоит двинуть
    > мышку - курсор сразу становится обычным...


    Так и я могу ловить событие на загрузку, но это особая городская магия, мне бы хотелось стандартное решение.

    То же окно nsIBaseWindow отображает курсор загрузки только в своей области и не лезет на уровень приложения - задавать там свои права.

    А какого типа решения в EWB можно осознать по этому избранному коду

    procedure TEmbeddedWB.Hook;
    begin
      if not bHook and not (csDesigning in ComponentState) then
         begin
            FParentForm := TForm(Owner);
            if (FParentForm <> nil) and (FParentForm.HandleAllocated) then
               begin
                  FOldWindowProc := FParentForm.WindowProc;
                  FParentForm.WindowProc := FormWndProc;
                  bHook := True;
               end;
         end;
    end;

    procedure TEmbeddedWB.UnHook;
    begin
      if bHook and not (csDesigning in ComponentState) then
         begin
            if (FParentForm <> nil) and (FParentForm.HandleAllocated) then
               FParentForm.WindowProc := FOldWindowProc;
            FParentForm := nil;
            bHook := False;
         end;
    end;

    procedure SetUserAgent(var UserAgent: string);
    var
      reg: TRegistry;
    begin
      Reg := TRegistry.Create;
      if UserAgent <> EWB_INFO then
         UserAgent := UserAgent + EWB_INFO;
      with Reg do
         begin
            RootKey := HKEY_CURRENT_USER;
            try
               if OpenKey('\Software\Microsoft\Windows\CurrentVersion\Internet Settings\User Agent\Post Platform', True) then
                  WriteString(UserAgent, '');
            finally
               CloseKey;
               Free;
            end;
         end;
    end;



    Вот так попользуешься и будешь удивляться откуда там чудеса и леший бродит...
 
Конференция "Прочее" » Delphi и Gecko
Есть новые Нет новых   [134439   +53][b:0][p:0.002]