|
|
|
|
- Vocabulario
- ¿Cómo usar un delegado de.Net con WINDEV?
- Consejo
- Notas adicionales
Inicializa un delegado.NET. Este delegado permitirá a .NET llamar de nuevo a un WLanguage Procedure o método en caso de eventos o "callbacks".
clOwn is OwnEvent clOwn:add_MyEvent(DotNetDelegate("MyHandler", "EventHandler<MyEventArgument>")) clOwn:Trigger("Hello")
PROCÉDURE MyHandler(src, args) Trace(args:Message)
Sintaxis
<Result> = DotNetDelegados(<WLanguage procedure> , <Type of Delegate>)
<Result>: .NET object Net del tipo de participante. <WLanguage procedure>: Procedure name Nombre del WLanguage Procedure o método para llamar. Este procedimiento tiene el siguiente formato:
PROCEDURE <Procedure Name>(Src, Args)
donde: - Src corresponde al objeto .NET que envía el Event
- Args corresponde al objeto .NET utilizado como parámetro del Event.
<Type of Delegate>: Character string (with quotes) Nombre de la clase del delegado a crear. Este parámetro no debe corresponder a un Variable. Observaciones - Delegate: Se utiliza para gestionar una devolución de llamada. Es del tipo "función. Define el prototipo de la función. El delegado se inicializa con una función.NET correspondiente al prototipo. El delegado es el equivalente.NET del puntero de función en C. Varios métodos pueden ser associated al mismo delegado : todos ellos se llamarán.
Atención : en la documentación .NET, este término también puede designar los "métodos de los delegados", es decir, los métodos associated con un delegado. - manipulador: Tipo particular de delegado diseñado específicamente para el procesamiento de eventos.
- Event: Un Event puede ser associated con uno o más manejadores. Cuando se activa el Event, se llama a todos los manipuladores asociados con este Event.
¿Cómo usar un delegado de.Net con WINDEV? Para utilizar un delegado de .Net, usted debe: - Encuentre el delegado en la lista de clases.NET
El delegado es una clase.NET en sí misma. El nombre del delegado debe ser conocido (ver la documentación de su ensamblaje.NET). - Definir los parámetros del participante
El delegado define un método de invocación. El WLanguage Procedure associated con el delegado debe tener los mismos parámetros. - Asociar el WLanguage Procedure con el delegado
El delegado se utiliza en una clase.NET. Esta clase posee métodos usados para agregar o quitar un "método de delegado" a/desde el delegado.. Consulte la documentación sobre su ensamblaje.NET para conocer los nombres de estos métodos.
Ejemplo: - Nombre de la clase que utiliza el delegado : CUseDelegate
- Nombre de la clase del delegado: CUseDelegate.CpfMyDelegate
- Prototipo del método Invoke de la clase CUseDelegate.CpfMyDelegate : Invocar (entero)
- Prototipo del método WLanguage correspondiente : Procedure MyCallbackWL(local i is int)
// Instantiate a class that owns a delegate clUse is CUseDelegate
// Add a "delegate method" (WL callback) to the delegate clUse:AddDelegate(DotNetDelegate("MyWLCallback", ... "CUseDelegate.CpfMyDelegate"))
// Provoke the use of the delegate by the .NET class clUse:UseDelegate()
Consejo En el WLanguage Procedure, puedes: - use los métodos asociados con los parámetros del Procedure. Sin embargo, la finalización no está disponible.
- definir un objeto dinámico y asignarle el parámetro solicitado. La terminación está disponible para el objeto.
Estos dos métodos se utilizan en el ejemplo detallado. Notas adicionales Esta función no se puede utilizar en la compilación dinámica.
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|