Freigeben über


IDataModelScript2::InvokeMain-Methode (dbgmodel.h)

Wenn das Skript über eine "Hauptfunktion" verfügt, die von einem Ui-Aufruf ausgeführt werden soll, gibt es eine solche über eine echte Rückgabe aus der IsInvocable-Methode an. Die Benutzeroberfläche kann dann die InvokeMain-Methode aufrufen, um das Skript tatsächlich aufzurufen. Beachten Sie, dass dies von Execute unterscheidet, die den gesamten Stammcode ausführt und das Skript mit dem Namespace des zugrunde liegenden Hosts verbindet.

Diese Methode kann mit E_NOTIMPL fehlschlagen, wenn das Skript keine "Hauptfunktion" enthält oder der Anbieter diese nicht definiert.

Beachten Sie, dass eine Anwendung, die das Datenmodell hostt, ein Skript einmal laden und ausführen kann, aber die InvokeMain-Methode beliebig oft aufrufen, ohne einen dazwischen liegenden Execute-Aufruf auszuführen. Es wird erwartet, dass dadurch der "Skriptkontext" erhalten bleibt, das Skript geladen bleibt und nur eine Methode innerhalb des Skripts mehrmals aufgerufen wird.

Wenn Fehler oder andere Ereignisse auftreten, die während der Ausführung des Skripts auftreten, können solche (und deren Position innerhalb des Skripts) über den Kommunikationskanal zwischen dem IDataModelScript2- und dem übergebenen IDataModelScriptClientübergeben werden.

Syntax

HRESULT InvokeMain(
  IDataModelScriptClient *client
);

Parameter

client

Eine Schnittstelle zum Client, die die Hauptfunktion anfordert, wird aufgerufen. Wenn fehler oder andere Ereignisse auftreten, die während der Ausführung der Hauptfunktion auftreten, kann das Skript diese Informationen und deren Position innerhalb des Skripts über Methodenaufrufe an diese Schnittstelle zurück an den Client übergeben.

Rückgabewert

Diese Methode gibt HRESULT zurück, das Erfolg oder Fehler angibt.

Anforderungen

Anforderung Wert
Header- dbgmodel.h

Siehe auch

IDataModelScript2-Schnittstelle