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

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

Разработка » XPCOM интерфейс типы данных » 25-02-2011 21:33:51

hydrolizer пишет

Использовать типы а-ля 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

Elexander пишет

Код:AString get_string (in AString stri); => NS_IMETHOD get_string(const nsAString & stri, nsAString & _retval);https://developer.mozilla.org/en/XPCOM_string_guide

Спасибо большое!

Разработка » XPCOM интерфейс типы данных » 25-02-2011 02:35:24

Есть такой обычный пример интерфейса

Выделить код

Код:

#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
И никаких подробностей.

Подскажите, пожалуйста, какие типы можно использовать и где про это почитать!

Board footer

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