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

Benachrichtigungen erhalten und Lösungen für neue oder häufige Probleme finden

Unser neuer KI-Chatbot stellt zusammengefasste Antworten und Videolösungen für Sie bereit.

Esri Support App herunterladen

Weitere Informationen zu diesem Thema erkunden

Unterstützung durch ArcGIS-Experten anfordern

An den technischen Support wenden

Esri Support App herunterladen

Zu Download-Optionen wechseln