ander
29-10-2014, 15:24:52
Hola a todos.
Lo que quiero hacer es generar un evento de un componente existente (ej. OnTimer) en una libreria.
Como podria hacerlo ?? He generado esta libreria y no doy pico en bola.
Si alguien pudiese decirme como se hace con un ejemplo se lo agradeceria.
library My_Dll;
uses
System.SysUtils,
System.Classes,winapi.windows,Vcl.Dialogs,Vcl.ExtCtrls;
var i:Integer;
{$R *.res}
procedure TiemTimer;
begin
inc(i);
ShowMessage(inttostr(i)) ;
end;
procedure pruebaTiempo ; stdcall;
var
Tiempo:TTimer;
pp:TComponent;
begin
i:=0;
Tiempo:=TTimer.Create(pp); // Esto no creo que esté bien
Tiempo.Name:='Tiempo'+IntToStr(I);
tiempo.Interval:=5000;
tiempo.Enabled:=True;
tiempo.OnTimer:=TiemTimer; // Error: Incompatible types: 'method pointer and regular procedure'
end;
exports pruebaTiempo;
begin
end.
Gracias de antemano
Lo que quiero hacer es generar un evento de un componente existente (ej. OnTimer) en una libreria.
Como podria hacerlo ?? He generado esta libreria y no doy pico en bola.
Si alguien pudiese decirme como se hace con un ejemplo se lo agradeceria.
library My_Dll;
uses
System.SysUtils,
System.Classes,winapi.windows,Vcl.Dialogs,Vcl.ExtCtrls;
var i:Integer;
{$R *.res}
procedure TiemTimer;
begin
inc(i);
ShowMessage(inttostr(i)) ;
end;
procedure pruebaTiempo ; stdcall;
var
Tiempo:TTimer;
pp:TComponent;
begin
i:=0;
Tiempo:=TTimer.Create(pp); // Esto no creo que esté bien
Tiempo.Name:='Tiempo'+IntToStr(I);
tiempo.Interval:=5000;
tiempo.Enabled:=True;
tiempo.OnTimer:=TiemTimer; // Error: Incompatible types: 'method pointer and regular procedure'
end;
exports pruebaTiempo;
begin
end.
Gracias de antemano