Trata siempre de poner el error que te marca y si sucede durante la ejecución o la compilación, porque de otra manera tenemos que estar adivinando, y eso es lo que voy a intentar hacer.
Dado que estás en una aplicación de consola, no tienes un formulario donde poner los eventos, de manera que me imagino que has declarado IdLogEvent1ReceivedNEW como un procedimiento normal:
Código Delphi
[-]
procedure IdLogEvent1ReceivedNEW(Sender: TObject ... );
pero los eventos en Delphi deben ser métodos. Lo que puedes hacer es declarar una clase específica para acoger los eventos:
Código Delphi
[-]
type
TEvents = class
procedure IdLogEvent1ReceivedNEW(Sender: TObject ... );
end;
No podría asegurarlo en estos momentos pero creo que ni siquiera tienes que instanciar un objeto TEvents si declaras el método con class:
Código Delphi
[-]
type
TEvents = class
class procedure IdLogEvent1ReceivedNEW(Sender: TObject ... );
end;
De forma que en tu código original pondrías:
Código Delphi
[-]
IdLogEvent1.OnReceived := TEvents.IdLogEvent1ReceivedNEW;
// Saludos