Es gibt einige nette Funktionen in ArcToolbox, die wir verwenden können, aber aus irgendeinem Grund funktioniert dies NICHT richtig. Es macht mir nicht einmal einen Fehler.
Meine Software wird in ArcMap ausgeführt, daher muss AoInitialize nicht erneut ausgeführt werden.
public void Execute()
{
InitializeProduct();
try
{
Geoprocessor gp = new Geoprocessor();
gp.OverwriteOutput = true;
FeatureToPoint featureToPoint = new FeatureToPoint();
string outputPathName = CurrentWorkspace.PathName + "\\teste_centroide";
featureToPoint.in_features = InputFeatureClass;
featureToPoint.out_feature_class = outputPathName;
featureToPoint.point_location = "INSIDE";
IGeoProcessorResult result = (IGeoProcessorResult)gp.Execute(featureToPoint, null);
if (result == null)
{
for (int i = 0; i <= gp.MessageCount - 1; i++)
{
Console.WriteLine(gp.GetMessage(i));
}
}
IGPUtilities gpUtils = new GPUtilitiesClass();
this.OutputFeatureClass = gpUtils.OpenFeatureClassFromString(outputPathName);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message + "\r\n");
}
Dies ist ein Codebeispiel, das ich hier habe. Ich habe die DataManagement-Toolassembly generiert, die Datei zum Signieren jedoch nicht gefunden.
Dieser Code gibt mir nur einen Fehler. liegt es an der signierung?
Ich habe es auch andersherum versucht, indem ich IVariantArray verwendet und vom Toolnamen aus aufgerufen habe, ohne Erfolg. Bin es nur ich oder ...?
Kann mir jemand eine "schönere" Lösung zeigen? Ich muss mehrere Prozesse ausführen, die bereits in ArcToolbox erstellt wurden und die ich wirklich nicht duplizieren möchte.