Description
PowerBuilder.RegisteredObject.TriggerEvent is a .NET method, not a PowerScript method.
It is called in the C# code to trigger the event of the PowerBuilder object. For details, refer to Triggering PowerScript events from C# code in Application Techniques.
Dynamic library
The following runtime DLL files must be referenced in the C# code according to the target framework:
-
pbdotnetinvoker.dll for .NET (when the .NET assembly is loaded through LoadWithDotNet)
-
pbdotnetframeworkinvoker.dll for .NET framework (when the .NET assembly is loaded through LoadWithDotNetFramework). This DLL (and function) is only available in PowerBuilder 2022 and earlier.
-
pbdotnetcoreinvoker.dll for .NET core (when the .NET assembly is loaded through LoadWithDotNetCore). This DLL (and function) is only available in PowerBuilder 2022 and earlier.
These runtime DLL files are located in the PowerBuilder Runtime directory (by default %systemdrive%\Program Files (x86)\Appeon\Common\PowerBuilder\Runtime [version]) and will be deployed automatically.
Namespace
PowerBuilder
Syntax
int RegisteredObject.TriggerEvent(string registeredObject, string eventName{,string eventParam}{,ref string returnValue})
Argument |
Description |
---|---|
registeredObject |
The registered name of PowerBuilder object that is case-sensitive. |
eventName |
The event name to be triggered. |
eventParam (optional) |
The parameter of the event. |
returnValue (optional) |
The return value of the event. |
Return value
Integer.
Returns values as follows.
1 -- Success
-1 -- Unknown error.
-50 -- PowerObject is not instantiated.
-52 -- The objectname is not registered.
-53 -- Invalid event name.
-54 -- The number of event parameters is wrong.
-55 -- Event parameter type error.
Examples
This C# code triggers the ue_ondotnetcallback event of the PowerBuilder object w_dotnettest:
// Need to add the corresponding pbdotnetcoreinvoker.dll or pbdotnetframeworkinvoker.dll or pbdotnetinvoker.dll to the project reference namespace Appeon.PowerBuilder.DotNet.Test // These dll files are located in the PB Runtime directory and will be deployed automatically { public class TriggerPBEvent { public string Method(string str1) { string strResult = ""; PowerBuilder.RegisteredObject.TriggerEvent("w_dotnettest","ue_ondotnetcallback", "Param from Method", ref strResult);// Trigger the ue_ondotnetcallback event in the PB object w_dotnettest return str1 + "(Method)\nReturn:" + strResult; } } }
This PowerScript code defines the user event ue_ondotnetcallback and calls the callback function to get the result of executing user event in C# code:
// w_dotnettest window event ue_ondotnetcallback string ls_test ls_test= "ue_ondotnetcallback(as_param:" + as_param +")" return ls_test // Call the method Method in DotNet ls_return = lcs_ass.Method("PB event callback test") MessageBox("Info", ls_return)