OnVersionUpgrade-hendelsen

Microsoft Office InfoPath

Inntreffer når versjonsnummeret til et Microsoft Office InfoPath 2003-skjema som åpnes, er eldre enn versjonsnummeret til skjemamalen det er basert på.

Funksjon XDocument::OnVersionUpgrade(ByRef pEvent As VersionUpgradeEvent)

pEvent Obligatorisk VersionUpgradeEvent. En referanse til VersionUpgradeEvent-objektet.

Merknader

Denne hendelsesbehandlingen tillater at brukeren avbryter en operasjon.

Under OnVersionUpgrade-hendelsen er skjemaets underliggende XML-dokument plassert i skrivebeskyttet modus og blir ikke validert mot det tilknyttede XML-skjemaet. Hvis ReturnStatus-egenskapen for VersionUpgradeEvent-objektet er satt til False, avbryter InfoPath åpningen av skjemaet. Hvis det oppstår en feil i skriptkoden for hendelsesbehandlingen OnVersionUpgrade, ignorerer InfoPath ignoreres den og bruker ReturnStatus-egenskapen for VersionUpgradeEvent-objektet. Hvis ReturnStatus-egenskapen ikke er eksplisitt angitt, brukes standardverdien True.

Eksempel

I eksemplet fra eksempelskjemaet Events nedenfor brukes hendelsesbehandlingen OnVersionUpgrade til å finne ut om skjemaet med feil, eldre versjonsnummer inneholder et EmailAddress-element. Hvis et slikt element ikke finnes, blir det lagt til.

function XDocument::OnVersionUpgrade(eventObj)
{
   if (!XDocument.DOM.selectSingleNode("/Customers/CustomerInfo/EmailAddress"))
   {
      try
      {
         // Create the new element.
         var objItemNode = XDocument.DOM.selectSingleNode("/Customers/CustomerInfo")
            .ownerDocument.createElement("EmailAddress");

         // Add the new <item> element to the XML document as a
         // child of the <order> element.
         XDocument.DOM.selectSingleNode("/Customers/CustomerInfo")
            .appendChild(objItemNode);
         eventObj.ReturnStatus=true;
      }
      catch(ex)
      {
         XDocument.UI.Alert("There was an error inserting the " +
            "<EmailAddress> node.\nDescription: " + ex.description);
         eventObj.ReturnStatus=false;
      }
   }
}