Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Problema con eventos (https://www.clubdelphi.com/foros/showthread.php?t=70655)

waremovil 03-11-2010 19:26:04

Problema con eventos
 
Hola otra vez. Estoy intentando disparar mis propios eventos, pero siempre me da error "Access Violation at address 00000000"

he reducido un ejemplo a la mínima expresión, y sigo recibiendo el error.

el archivo de cabecera queda:

unit1.h
Código:

typedef void __fastcall(__closure * TPopUpCommand)();
...
private: // User declarations
 TPopUpCommand FOnPopUpCmd;
...
public:
...
__property TPopUpCommand OnPopUpCmd = {read = FOnPopUpCmd, write = FOnPopUpCmd};

pero cada vez que quiero disparar el evento
llamando a la función FOnPopUpCmd(); me salta
el error access violation

¿alguien sabe por qué pasa esto?

gracias

roman 03-11-2010 21:06:28

Bueno, la función no existirá con sólo declararla. La idea es que, en algún momento, debes asignar a la propiedad OnPopupCommand una función que se ajuste a la declaración de TPopupCommand.

// Saludos

waremovil 05-11-2010 10:56:50

tenías razón, ocurre si no defino una función que se ejecute cuando salta el evento

una forma de hacerlo más seguro para que nunca de error:

Código:


if (FOnPopUpCmd != NULL)
{
    FOnPopUpCmd();
}

así aunque todavía no haya definido la función que se hace cargo del evento, sencillamente no pasaría nada

un saludo


La franja horaria es GMT +2. Ahora son las 04:53:56.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi