Страницы: 1
Добрый день!
Пытаюсь сделать эмуляцию событий.
Код взят отсюда: http://forum.mozilla-russia.org/viewtopic.php?id=26616.
Я дописал недостающие интерфейсы. Пишу на C#.
Вставил код прямо в исходники компонента geckofx, подправил что надо.
Вот часть кода:
Skybound.Gecko.nsIDOMAbstractView window = Skybound.Gecko.Xpcom.QueryInterface<Skybound.Gecko.nsIDOMAbstractView>(this.Window.DomWindow); Skybound.Gecko.nsAString st = new Skybound.Gecko.nsAString("click"); me.InitMouseEvent(st, true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
И вот шарпик на меня ругается:
Ошибка 2 Аргумент "4": преобразование типа из "Skybound.Gecko.nsIDOMAbstractView" в "System.IntPtr" невозможно D:\VC_Project\Skybound.GeckoFX.src.v1.9.0.0\src\Skybound.Gecko\GeckoWebBrowser.cs 435 47 Skybound.Gecko
С объектом window что то нето. Немогу понять как тогда работает код которые выше по ссылке.
Отсутствует
На ссылке: http://forum.mozilla-russia.org/viewtopic.php?id=26616
Не видно что используется указатель.
Так как оригинальный метод:
void InitMouseEvent(nsAString typeArg, bool canBubbleArg, bool cancelableArg, IntPtr /*nsIDOMAbstractView*/ viewArg, int detailArg, int screenXArg, int screenYArg, int clientXArg, int clientYArg, bool ctrlKeyArg, bool altKeyArg, bool shiftKeyArg, bool metaKeyArg, ushort buttonArg, nsIDOMEventTarget relatedTargetArg);
Проблема решилась изменением четвертого параметра:
void InitMouseEvent(nsAString typeArg, bool canBubbleArg, bool cancelableArg, nsIDOMAbstractView viewArg, int detailArg, int screenXArg, int screenYArg, int clientXArg, int clientYArg, bool ctrlKeyArg, bool altKeyArg, bool shiftKeyArg, bool metaKeyArg, ushort buttonArg, nsIDOMEventTarget relatedTargetArg);
Странно, но работает.
Отсутствует
Страницы: 1