Создание команды

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).
Ответить
SLN
Новоприбывший
Сообщения: 5
Зарегистрирован: 02 апр 2015, 09:36
Репутация: 1

Создание команды

Сообщение SLN » 08 июн 2015, 17:51

Здравствуйте такой вопрос когда то давно писал плагины для ArcGis девятой версии на Microsoft Visual Studio 2005, сейчас понадобилась сделать снова, но под 10 - тый ArcGis и использую 2010 студию, делал все по примеру http://resources.arcgis.com/en/help/arc ... 0n9z000000

Код: Выделить всё

class ATL_NO_VTABLE CZoomIn :
	public CComObjectRootEx<CComSingleThreadModel>,
	public CComCoClass<CZoomIn, &CLSID_ZoomIn>,
	public IZoomIn,
	public ICommand
{
public:
	CZoomIn()
	{
	}

	DECLARE_REGISTRY_RESOURCEID(IDR_ZOOMIN)


	BEGIN_COM_MAP(CZoomIn)
		COM_INTERFACE_ENTRY(IZoomIn)
		COM_INTERFACE_ENTRY(ICommand)
	END_COM_MAP()

	BEGIN_CATEGORY_MAP(CZoomIn)
		IMPLEMENTED_CATEGORY(__uuidof(CATID_MxCommands))
		IMPLEMENTED_CATEGORY(__uuidof(CATID_ControlsCommands))
	END_CATEGORY_MAP()

STDMETHOD(get_Name)(BSTR * pName)
	{
		if (pName== NULL)
			return E_POINTER;

		*pName= ::SysAllocString(L"ZoomIn x 0.5 VC8");
		return S_OK;
	}
	STDMETHOD(get_Caption)(BSTR * pCaption)
	{
		if (Caption == NULL)
			return E_POINTER;

		*pCaption= ::SysAllocString(L"ZoomIn x 0.5 VC8");
		return S_OK;
	}
     STDMETHOD(get_Category)(BSTR * pCategoryName)
	{
		if (pCategoryName== NULL)
			return E_POINTER;

		*pCategoryName= ::SysAllocString(L"Developer Samples");
		return S_OK;
	}
.......................................................................
компонента успешна зарегистрировалась, но не находиться "Developer Samples" в Tools->Customize->Commands в списке Categories.
Посмотрел в реестре, информация о WalkthroughVS2010.dll есть, в Implement Categories перечислены
{B284D891-22EE-4F12-A0A9-B1DDED9197F4}
{B56A7C42-83D4-11D2-A2E9-080009B6F22B}
что соответствует CATID_MxCommands и CATID_ControlsCommands, не могу понять в чем может быть ошибка, операционная систем Windows7, 64 разрядная
Последний раз редактировалось dwarwood 10 июн 2015, 15:23, всего редактировалось 1 раз.
Причина: добавлена иконка темы = "решение найдено"

SLN
Новоприбывший
Сообщения: 5
Зарегистрирован: 02 апр 2015, 09:36
Репутация: 1

Re: Создание команды

Сообщение SLN » 08 июн 2015, 18:26

Все разобрался, регистрацию компоненты нужно было делать с помощью ESRIRegAsm.exe

http://gis.stackexchange.com/questions/ ... gis-10-sp1

dwarwood
Завсегдатай
Сообщения: 316
Зарегистрирован: 09 июн 2005, 10:38
Репутация: 2
Откуда: Yaroslavl, Russia
Контактная информация:

Re: Создание команды

Сообщение dwarwood » 10 июн 2015, 15:21

спасиб за ссылку,
не знал про этот сайт, как то не попадался до сих пор.

dwarwood
Завсегдатай
Сообщения: 316
Зарегистрирован: 09 июн 2005, 10:38
Репутация: 2
Откуда: Yaroslavl, Russia
Контактная информация:

Re: http://gis.stackexchange.com

Сообщение dwarwood » 10 июн 2015, 15:40

а, так это "надмножество" stackoverflow.com,
то то оно мне показалось похожим.

кстати, вдруг обнаружилось, что есть stackoverflow по-русски.
http://ru.stackoverflow.com

Ответить

Вернуться в «ArcGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя