A custom geoprocessing function tool created with Visual C++ fails to run in ArcGIS 10 when background geoprocessing is enabled, or displays a pure virtual function error upon closing the application.
上次发布: September 28, 2016ArcGIS for Desktop
漏洞 ID 编号
NIM066767
已提交
March 31, 2011
上次修改时间
June 5, 2024
适用范围
ArcGIS for Desktop
找到的版本
10.0
编程语言
VC++
操作系统
Windows OS
操作系统版本
Vista
状态
Known Limit
经开发团队审核,已确定此问题与不受 Esri 控制的软件的已知限制有关。 问题的“其他信息”部分可能包含进一步说明。
附加信息
This is as designed only because we have no control over how someone creates a custom GP tool. There are certain constraints assoicated with running in the Background which must be followed. .Net based tools for the most part donot run well in the Background.
Custom GP Tool developers whose tools don''t work in the backgound need to implement the following interface:
//
// IGPToolBackground interface...
//
[
oleautomation, local,
object,
uuid(632F8246-0681-4222-9080-48AD9FADADE7),
pointer_default(unique),
helpcontext(95195),
helpstring("Tool Background Implementation Interface."),
]
interface IGPToolBackground : IUnknown
{
[
propget,
helpcontext(95196),
helpstring("Can this tool run in the background."),
]
HRESULT CanRunInBackground([out, retval] VARIANT_BOOL* pCanRunInBackground);
[
propput,
helpcontext(95197),
helpstring("Can this tool run in the background."),
]
HRESULT CanRunInBackground([in] VARIANT_BOOL canRunInBackground);
};
And have it return VARIANT_FALSE for get_CanRunInBackground.