hadisalahi2
یک شنبه 17 آذر 1392, 11:25 صبح
سلام به همگی دوستان
بچه ها ، آیا روشی هست که در داخل یک پروسیجر ، نام اون پروسیجر رو در هنگام اجرا فهمید؟
ببینید ، من یک تیکه کد دارم که هر خطایی در اون پروسیجر اتفاق می افته رو در جدول ذخیره میکنه
حالا برای هر پروسیجر ، باید نام فرم و نام پروسیجر رو دستی بنویسم
تیکه کد زیر رو ببینید :
procedure TCompanyForm.SearchButtondClick(Sender: TObject);
begin
Try
if IDSE.Text='' Then Exit;
CodeBaseUnit.Search(IDSE,KeyS,InsertSP,Tag,Company Form);
if InsertSP.RecordCount=0 then Exit;
ID.Caption:=InsertSP['ID'];
//==========================================
Somi(nil);
except on E: Exception do
DBForm.InsertToException('','',e.Message);
end;
end;
در این خط :
DBForm.InsertToException('','',e.Message);
اگه دقت کنید ، دو تا پارامتر از نوی رشته ای وجود داره ، که اولی نام پروسیجری هستش که خطا توی اون رخ داده و دومی نام فرمی هست که پروسیجر در اون قرار داره.
من به صورت دستی مثلا به صورت زیر ، نام پروسیجر و فرم رو می نویسم:
DBForm.InsertToException('SearchButtondClick','TCo mpanyForm',e.Message);
حالا من میخوام ، به جای اینکه ، خودم میام دستی این کا رو در هر پروسیجر انجام بدم ،
نام پروسیجر و فرم ، مثل یک پارامتر ، همراه پروسیجر من فراخوانی بشه ، تا دیگه نیازی به جایگذاری دستی مقادیر پارامتر نباشه.
امیدوارم تونسته باشم ، منظورم رو برسونم.
بچه ها ، آیا روشی هست که در داخل یک پروسیجر ، نام اون پروسیجر رو در هنگام اجرا فهمید؟
ببینید ، من یک تیکه کد دارم که هر خطایی در اون پروسیجر اتفاق می افته رو در جدول ذخیره میکنه
حالا برای هر پروسیجر ، باید نام فرم و نام پروسیجر رو دستی بنویسم
تیکه کد زیر رو ببینید :
procedure TCompanyForm.SearchButtondClick(Sender: TObject);
begin
Try
if IDSE.Text='' Then Exit;
CodeBaseUnit.Search(IDSE,KeyS,InsertSP,Tag,Company Form);
if InsertSP.RecordCount=0 then Exit;
ID.Caption:=InsertSP['ID'];
//==========================================
Somi(nil);
except on E: Exception do
DBForm.InsertToException('','',e.Message);
end;
end;
در این خط :
DBForm.InsertToException('','',e.Message);
اگه دقت کنید ، دو تا پارامتر از نوی رشته ای وجود داره ، که اولی نام پروسیجری هستش که خطا توی اون رخ داده و دومی نام فرمی هست که پروسیجر در اون قرار داره.
من به صورت دستی مثلا به صورت زیر ، نام پروسیجر و فرم رو می نویسم:
DBForm.InsertToException('SearchButtondClick','TCo mpanyForm',e.Message);
حالا من میخوام ، به جای اینکه ، خودم میام دستی این کا رو در هر پروسیجر انجام بدم ،
نام پروسیجر و فرم ، مثل یک پارامتر ، همراه پروسیجر من فراخوانی بشه ، تا دیگه نیازی به جایگذاری دستی مقادیر پارامتر نباشه.
امیدوارم تونسته باشم ، منظورم رو برسونم.