Condividi tramite


Risoluzione dei problemi relativi ai modelli di modulo che utilizzano il modello a oggetti di InfoPath 2003 in fase di progettazione

Nelle sezioni seguenti vengono descritti scenari di risoluzione dei problemi comuni che si possono verificare durante la progettazione e il debug dei modelli di modulo con codice gestito che utilizzano il modello a oggetti compatibile con InfoPath 2003 incluso nello spazio dei nomi Microsoft.Office.Interop.InfoPath.SemiTrust.

Impossibile eseguire la visualizzazione in anteprima o il debug dei modelli di modulo che utilizzano chiamate a metodi e proprietà del modello a oggetti con livello di protezione 3

Se si tenta di eseguire il debug o la visualizzazione in anteprima di un progetto con codice gestito che richiama membri del modello a oggetti per i quali è necessaria l'attendibilità completa, in InfoPath verrà visualizzato un messaggio di errore per informare che si è verificata un'eccezione di protezione non gestita nel codice del modulo e che il modulo non verrà aperto. Per consentire il debug o la visualizzazione in anteprima della regola business nel modello di modulo, è necessario impostare il livello di protezione su Attendibilità completa e inserire una firma digitale nel modello di modulo. Per ulteriori informazioni su tali operazioni, vedere Procedura: Eseguire la visualizzazione in anteprima e il debug dei modelli di modulo con codice gestito che richiedono l'attendibilità completa.

Impossibile aggiornare le espressioni XPath nei gestori eventi se il valore del parametro MatchPath è stato eliminato manualmente

Se si aggiunge un gestore eventi a un campo o a un gruppo e in seguito si modifica lo schema dell'origine dati nel riquadro attività Origine dati di InfoPath con conseguenti effetti sul campo o sul gruppo, ad esempio rinominandolo o spostandolo, verrà visualizzato un messaggio in cui si chiede se si desidera aggiornare le espressioni XPath nel codice del modulo. Le espressioni XPath a cui fa riferimento questo messaggio sono i valori specificati nel parametro MatchPath dell'attributo InfoPathEventHandlerAttribute, utilizzati per associare il gestore eventi a un campo o a un gruppo nell'origine dati del modulo. Non verrà aggiornata nessun'altra espressione XPath del codice. L'algoritmo per l'aggiornamento delle espressioni XPath dipende da un valore presente nel parametro MatchPath degli attributi InfoPathEventHandler applicati nel codice del modulo. Se questi valori sono stati eliminati manualmente prima di rispondere alla richiesta di aggiornamento delle espressioni XPath, in InfoPath non sarà possibile aggiornare automaticamente le espressioni XPath. Per ulteriori informazioni, vedere Procedura: Aggiungere un gestore eventi tramite il modello a oggetti di InfoPath 2003.

Impossibile richiamare membri del modello a oggetti compatibile con InfoPath in un thread distinto

Il modello a oggetti compatibile con InfoPath 2003 non supporta chiamate in un thread distinto. Nell'esempio seguente, in cui viene chiamata una funzione denominata LaunchOMFunction che chiama i membri del modello a oggetti di InfoPath, il codice non funzionerà.

Thread th = new Thread(new ThreadStart(LaunchOMFunction));
th.Start();

Se necessario, è possibile ovviare a questa limitazione. Per informazioni, vedere Supporto del modello di threading nei progetti di InfoPath tramite il modello a oggetti di InfoPath 2003.

Nella finestra di dialogo Processi di Visual Studio viene visualizzato un solo processo di InfoPath anche se sono aperti più moduli

Se si aprono due o più moduli di InfoPath in modalità di modifica e quindi si apre Visual Studio e si sceglie Processi di debug dal menu Strumenti, per impostazione predefinita nell'elenco Processi disponibili della finestra di dialogo Processi viene visualizzata una sola istanza di INFOPATH.EXE. Nell'elenco viene visualizzata solo la finestra superiore del processo INFOPATH.EXE. Tuttavia, tutte le finestre di InfoPath vengono eseguite nello stesso processo e sono collegate al debugger.

L'omissione di parametri facoltativi causa un errore durante la generazione in Visual Basic e in Visual C#

Se un membro di un modello a oggetti di InfoPath contiene un parametro facoltativo e non si specifica un valore per tale parametro, è necessario passare il campo Type.Missing per tale parametro. Se non si passa il campo Type.Missing quando viene omesso un valore effettivo, si verificherà un errore durante la generazione. Queste informazioni sono valide per il codice scritto sia in Visual Basic che in Visual C#. Per ulteriori informazioni ed esempi, vedere la sezione "Passaggio di parametri facoltativi ai membri del modello a oggetti di InfoPath" nell'argomento Modelli a oggetti compatibili con InfoPath 2003.

Vedere anche

Concetti

Informazioni sul modello di protezione per i modelli di modulo con codice gestito
Procedura: Distribuire progetti di InfoPath
Procedura: Gestire gli errori tramite il modello a oggetti di InfoPath 2003
Procedura: Eseguire la visualizzazione in anteprima e il debug dei modelli di modulo con codice gestito che richiedono l'attendibilità completa
Procedura: Eseguire il debug dei progetti di InfoPath tramite il modello a oggetti di InfoPath 2003