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;
}
}
}