Полезная информация

Многие проблемы быстрее решаются поиском по форуму и чтением FAQ, чем созданием новой темы и томительным ожиданием ответа.

Разработка » Проблема с Delphi Gecko SDK » 02-06-2010 15:42:53

Попробовал, только что-то странное происходит...
Результат выполнения QueryInterface при получении интерфейса выдает 0
Пытаюсь вызывать методы, тут и начинается:
при вызове GetClientTop результат = NS_ERROR_NO_INTERFACE, aClientTop = 0;
при вызове GetClientLeft результат = 2, aClientLeft = 0;
при вызове GetClientHeight результат = 1, aClientHeight = 0;
при вызове GetClientWidth результат = 0, но при этом в aClientWidth возвращаются восьмизначные числа (думаю для ширины это многовато :) )

Разработка » Проблема с Delphi Gecko SDK » 28-05-2010 15:50:49

Спасибо за совет :) Действительно в 3.0.5 другой GUID -- '{CEA6F919-7FE6-4BDD-9DB6-158D9283F8D3}'
Но при вызове метода выдает вышеуказанное исключение. Может не правильно перевожу?
В nsIDOMNSElement.h метод описан так:

Выделить код

Код:

/* readonly attribute long clientTop; */
NS_IMETHODIMP nsDOMNSElement::GetClientTop(PRInt32 *aClientTop)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

Я пробовал два варианта:

Выделить код

Код:

procedure GetClientTop(out aClientTop: PRInt32); safecall;
function GetClientTop(): PRInt32; safecall;

А что можно сделать в плане nsIAccessibleRetrieval? (GUID верный в объявлении)

Разработка » Проблема с Delphi Gecko SDK » 28-05-2010 12:14:36

Доброго времени суток!
Работая с Gecko SDK 1.9 успешно подключился к браузеру FireFox (проверяю на 3.0.5), получил текст из элементов страницы, осталось получить их координаты. Вот тут и засада.
Объявил интерфейс:

Выделить код

Код:

nsIDOMNSElement = interface(nsISupports)
  ['{f0aef489-18c5-4de6-99d5-58b3758b098c}']
...
  end;

Но при попытке перехода к нему от nsIDOMNode через QueryInterface постоянно получаю nil
Решил попробовать через nsIAccessibleRetrieval

Выделить код

Код:

NS_ACCESSIBLE_RETRIEVAL_CONTRACTID = '@mozilla.org/accessibleRetrieval;1';
...
  nsIAccessibleRetrieval = interface(nsISupports)
  ['{244e4c67-a1d3-44f2-9cab-cdaa31b68046}']
...
  end;

При попытке получить его через ComponentManager вываливается исключение 'Exception in safecall method', а при попытке создать его через CreateInstance... падает FF.
С nsIAccessibilityService та же ерунда :(
Сталкивался ли кто-нибудь с подобной проблемой и как можно ее решить?

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]