View Full Version : مشکل در تایمر
یک شنبه 12 تیر 1384, 17:22 عصر
سلام
من یه timer بصورت دینامیکی ساختم
ولی وقتی میخوام به رویداد ontimer اون یه کدی نسبت بدم error میگیره
procedure timerexec;
//do something
var T:ttimer
T:=TTimer.create;
t.interval:=1000;
t.enabled:=true;
t.ontimer:=timerexec;// errror!
vcldeveloper
دوشنبه 13 تیر 1384, 04:34 صبح
T:=TTimer.create;
T := TTimer.Create(Self);
hr110
دوشنبه 13 تیر 1384, 07:08 صبح
متد شما باید اینطور تعریف شود:
procdure timerexec(Sender:TObject);
begin
.....
end;
دوشنبه 13 تیر 1384, 21:02 عصر
لطفا بفرمایید اشکال من در کجاست ؟
(procedure exec1(Sender:TObject;
begin
// do something
end
var T:TTimer;
T:=TTimer.Create(Form1);
T.Interval:=1;
T.Enabled:=True;
T.OnTimer:=exec1(Self);
در سطر آخر error زیر را میدهد
Incompatible types: 'TNotifyEvent' and 'procedure,untyped pointer or untyped parameter'
اگه سطر آخر رو اینجوری بنویسم T.ontimer:=timerexec; پیغام زیر میاد:
Incompatible types:'method pointer and regular procedure'
ممنون از توجهتون
vcldeveloper
سه شنبه 14 تیر 1384, 02:07 صبح
در سطر آخر error زیر را میدهد
Incompatible types: 'TNotifyEvent' and 'procedure,untyped pointer or untyped parameter'
شما باید تابع Exec1 رو به عنوان یک متد در کلاس فرم مربوطه تعریف کنید:
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
procedure Exec1 (Sender:TObject);
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Exec1(Sender:TObject);
begin
// do something
end;
procedure TForm1.Button1Click(Sender: TObject);
var T:TTimer;
begin
T:=TTimer.Create(Form1);
T.Interval:=1;
T.Enabled:=True;
T.OnTimer:=exec1;
end;
HELAL301
یک شنبه 20 آذر 1384, 19:49 عصر
با عرض سلام
از یکی از دوستانی که به بحث تایمر مسلط می باشد درخواست کمک می کنم . چگونگی استفاده از تایمر در باز و بسته کردن فرمها بصورت آهسته را به بنده توضیح دهید . با تشکر
m-khorsandi
دوشنبه 21 آذر 1384, 12:04 عصر
HELAL301 به نظرت سئوالت چقدر به این تاپیک مربوط میشه.
شما سئوالتون رو در یک تاپیک جدید مطرح کنید و جواب بگیرید.
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.