Häufig gestellte Frage (FAQ)

Warum reagiert Python manchmal nicht mehr, wenn eine Methode im Geoverarbeitungs-Dispatch-Objekt aufgerufen wird?

Last Published: January 6, 2021

Antwort

Hinweis: Dieser Artikel gilt für die ArcGIS-Versionen 9.x und 10.0. Höhere Versionen von ArcGIS enthalten möglicherweise andere Funktionalität sowie andere Namen für Menüs, Befehle und Geoverarbeitungswerkzeuge, die sich auch an anderen Orten befinden können.

In vielen Fällen wird dieses Problem durch einen Lizenzkonflikt verursacht. Von Python wird angenommen, dass der Benutzer eine ArcInfo-Lizenz besitzt. Ist dies nicht der Fall, kann es sein, dass Python nicht mehr reagiert. Dies kann auch eintreten, wenn der Benutzer nur Werkzeuge verwendet, die für seine Lizenz verfügbar sind.

Als Workaround muss sichergestellt werden, dass Python stets weiß, welche Lizenz verwendet wird. Verwenden Sie dazu die Methode "SetProduct" im Dispatch-Objekt. Ein Beispiel finden Sie im Codeausschnitt unten.

Code: import win32com.client gp = win32com.client.Dispatch("esriGeoprocessing.GPDispatch.1") gp.SetProduct("ArcView")

Verwenden Sie die Methode "CheckProduct" im Dispatch-Objekt, um zu überprüfen, welche Lizenzen verfügbar sind. Ein Beispiel finden Sie im Codeausschnitt unten.

Code: import win32com.client gp = win32com.client.Dispatch("esriGeoprocessing.GPDispatch.1") print "ArcView license is " + gp.CheckProduct("ArcView") print "ArcEditor license is " + gp.CheckProduct("ArcEditor") print "ArcInfo license is " + gp.CheckProduct("ArcInfo")

Artikel-ID:000006981

Hilfe von ArcGIS-Expert*innen erhalten

Technischen Support kontaktieren

Die Esri Support-App herunterladen

Zu den Download-Optionen

Weitere Informationen zu diesem Thema erkunden