Problembehandlung von Formularvorlagen mit dem InfoPath 2003-Objektmodell zur Entwurfszeit
Die folgenden Abschnitte beschreiben allgemeine Problembehandlungsszenarien, die beim Entwerfen und Debuggen von Formularvorlagen mit verwaltetem Code auftreten können, die das vom Microsoft.Office.Interop.InfoPath.SemiTrust-Namespace bereitgestellte InfoPath 2003-kompatible Objektmodell verwenden.
Das Anzeigen der Vorschau oder Debuggen von Formularvorlagen, die Aufrufe der Methoden und Eigenschaften der Objektmodell-Sicherheitsebene 3 verwenden, ist nicht möglich
Beim Versuch, ein Projekt mit verwaltetem Code zu debuggen oder in der Vorschau anzuzeigen, das Code zum Aufrufen von Objektmodellmembern enthält, die volle Vertrauenswürdigkeit erfordern, zeigt InfoPath eine Fehlermeldung an, die besagt, dass eine unbehandelte Sicherheitsausnahme im Formularcode aufgetreten ist, und das Formular wird nicht geöffnet. Um das Debuggen oder die Vorschau von Geschäftslogik in der Formularvorlage zu ermöglichen, müssen Sie die Sicherheitsebene auf Voll vertrauenswürdig festlegen und die Formularvorlage digital signieren. Details hierzu finden Sie unter Vorgehensweise: Anzeigen einer Vorschau und Debuggen von Formularvorlagen mit verwaltetem Code, die vollständig vertrauenswürdig sein müssen.
XPath-Ausdrücke in Ereignishandlern können nicht aktualisiert werden, wenn der Wert des MatchPath-Parameters manuell gelöscht wurde
Wenn Sie einen Ereignishandler einem Feld oder einer Gruppe hinzufügen und später das Schema der Datenquelle im InfoPath-Aufgabenbereich Felder so ändern, dass sich die Änderung auf dieses Feld bzw. diese Gruppe auswirkt (z. B. durch Umbenennen oder Verschieben), wird eine Meldung mit der Frage angezeigt, ob die XPath-Ausdrücke im Formularcode aktualisiert werden sollen. Die XPath-Ausdrücke, auf die in dieser Meldung verwiesen wird, sind die im MatchPath-Parameter des InfoPathEventHandlerAttribute-Attributs angegebenen Werte. Diese werden verwendet, um den Ereignishandler einem Feld oder einer Gruppe in der Datenquelle des Formulars zuzuordnen. Es werden keine anderen XPath-Ausdrücke im Code aktualisiert. Der Algorithmus zum Aktualisieren der XPath-Ausdrücke hängt von einem Wert ab, der im MatchPath-Parameter der InfoPathEventHandler-Attribute vorhanden ist, die im Formularcode angewendet werden. Wenn Sie diese Werte vor dem Reagieren auf die Aufforderung zum Aktualisieren von XPath-Ausdrücken manuell gelöscht haben, kann InfoPath die XPath-Ausdrücke nicht automatisch aktualisieren. Weitere Informationen hierzu finden Sie unter Vorgehensweise: Hinzufügen eines Ereignishandlers mit dem InfoPath 2003-Objektmodell.
Member des InfoPath 2003-kompatiblen Objektmodells können nicht in einem getrennten Thread aufgerufen werden
Das InfoPath 2003-kompatible Objektmodell unterstützt keine Aufrufe in einem getrennten Thread. Der folgende Code beispielsweise, der die Funktion LaunchOMFunction aufruft, die wiederum Member des InfoPath-Objektmodells aufruft, wird nicht ausgeführt.
Thread th = new Thread(new ThreadStart(LaunchOMFunction));
th.Start();
Es gibt eine Möglichkeit zum Umgehen dieser Einschränkung. Weitere Informationen hierzu finden Sie unter Threadunterstützung in InfoPath-Projekten mit dem InfoPath 2003-Objektmodell.
Das Auslassen optionaler Parameter verursacht einen Buildfehler in Visual Basic und Visual C#
Wenn ein InfoPath-Objektmodellmember einen optionalen Parameter enthält und Sie keinen Wert für diesen Parameter angeben, müssen Sie für den Parameter stattdessen das Feld Type.Missing übergeben. Erfolgt keine Übergabe des Felds Type.Missing, führt das Auslassen eines tatsächlichen Werts zu einem Buildfehler. Dies gilt sowohl für in Visual Basic als auch in Visual C# geschriebenen Code. Weitere Informationen und Beispiele finden Sie im Abschnitt "Übergeben optionaler Parameter an InfoPath-Objektmodellmember" unter InfoPath 2003-kompatible Objektmodelle.
Siehe auch
Konzepte
Informationen zum Sicherheitsmodell für Formularvorlagen mit verwaltetem Code
Vorgehensweise: Bereitstellen von InfoPath-Formularvorlagen mit Code
Vorgehensweise: Behandeln von Fehlern mit dem InfoPath 2003-Objektmodell
Vorgehensweise: Debuggen von InfoPath-Projekten mit dem InfoPath 2003-Objektmodell