Страницы: 1
Использовать типы а-ля LPTSTR/LPCTSTR не пробовали?
Та же ошибка странная возникает :/
.\IMyComponent.idl:7: `LPCTSTR' undeclared identifier
** WARNING **: Parse of IMyComponent.idl failed
#include "nsISupports.idl" [scriptable, uuid(911d170a-15dd-4e05-b1fa-da7a740b58fd)] interface IMyComponent : nsISupports { //long Add(in long a, in long b); LPCTSTR Add (in LPCTSTR a); };
25-02-2011 21:35:53
Код:AString get_string (in AString stri); => NS_IMETHOD get_string(const nsAString & stri, nsAString & _retval);https://developer.mozilla.org/en/XPCOM_string_guide
Спасибо большое!
…Есть такой обычный пример интерфейса
#include "nsISupports.idl" [scriptable, uuid(911d170a-15dd-4e05-b1fa-da7a740b58fd)] interface IMyComponent : nsISupports { long Add(in long a, in long b); };
и xpidl из Gecko SDK (1.9.2) без ошибок генерирует заголовочный файл.
xpidl -m header -I C:\Gecko_SDK\gecko_1.9.2\idl IMyComponent.idl
А мне надо передать XPCOM компоненту строку.
В расширении для firefox (JavaScript) это var string='Какой-то текст из формы'
На C++ подошел бы тип char [4000]
В idl файле пишу так:
char * get_string (in char stri[4000]);
Т.е входной параметр некая строка, и возвращать эта функция будет тоже строку.
xpidl выдает еррор ** WARNING **: Parse of IMyComponent.idl failed
И никаких подробностей.
Подскажите, пожалуйста, какие типы можно использовать и где про это почитать!
…Страницы: 1