Merhabalar,
Dll içerisinde timer, IdHTTP vs. gibi bileşenler oluşturup kullanabilir miyiz? Bir kaç kere denedim ama, mesela timer'ın onTimer olayına dll içindeki başka bir proceduru atarken şu hatayı veriyor:
library Project2;
uses
SysUtils,
Classes,
ExtCtrls,
Windows;
procedure goster;export;
begin
Messagebox(0,'deneme bir iki','baslik bir iki üc',0);
end;
procedure deneme;export;
var x:TTimer;
begin
x:=TTimer.Create(nil);
x.Interval:=500;
x.OnTimer:=goster;// burada hata veriyor.
x.Enabled:=true;
end;
exports
goster,deneme;
{$R *.res}
begin
end.
bunu nasıl düzeltebilirim.
Bu ShareMem, dll üzerinden memoryde, formlardaki gibi işlemlerin olmasını mı sağlıyor? Teşekkürler
İyi çalışmalar
s.a.
verdiği hata mesajı lütfen.....
birde o atama işlemini dll de değilde normal program içerisinde yapabiliyormusun. Şu an bakamıyorum ama procedurenin parametrelerinden (enazından bi sender parametresi) kaynaklanıyor gibi me geliyor.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
hocam hatayı ilk mesajımda yazmıştım .
normal formda oluyor. Ama şöyle oluyor.
Procedure goster(sender:tobject); 'i en başta tanımlıyoruz.
daha sonra
procedure tform1.goster(sender:tobject);
begin
..
end;
ile devam ediyoruz
benim timer.ontimer:=goster; dersek oluyor.
ben dll de tanımlama yapabilirmiyim. proceduru yazarken tform1 yerine ne yazacam.? teşekkürler
iyi çalışmalar
Öyle de denedim fakat olmadı. baş tarafında tform1. olmadığı zamanda olmuyor normal formda yaparken. yani illa tanımlamak gerekiyor önceden.bunu dll'de nasıl yaparım?
iyi çalışmalar
type
TTimerEvent = class
public
// Bu method'u OnTimer eventi ile aynı türden tanımladık, yani TNotifyEvent olarak
class procedure DoTimer(Sender: TObject);
end;
// Class procedure yaptık ki nesneyi create etmeye gerek olmasın.
class procedure TTimerEvent.DoTimer(Sender: TObject);
begin
ShowMessage('Ceee');
end;