PDA

View Full Version : سوال: مشکل در اجرای توابع در فرم Child



u.2u.4u
جمعه 07 آبان 1389, 21:40 عصر
سلام. من دارم یک برنامه mdi می نویسم. در خود روال های فرم کودک مثلا روال create فرم، به کنترل هاش دسترسی دارم و می تونم مدیریتشون کنم. ولی زمانیکه یک تابع شخصی داخل فرم طراحی می کنم نمی تونه به کنترل ها دسترسی پیدا کنه و ارور می ده. چه جوری باید این مشکل را حل کنم؟

vcldeveloper
جمعه 07 آبان 1389, 21:46 عصر
ولی زمانیکه یک تابع شخصی داخل فرم طراحی می کنم نمی تونه به کنترل ها دسترسی پیدا کنه و ارور می ده. چه جوری باید این مشکل را حل کنم؟
چه طوری تعریفش کردید؟ میشه حدس زد که به جای تعریف اون به عنوان یک متد از کلاس فرم، تابع رو به عنوان یک تابع عمومی خارج از کلاس فرم تعریف کردید، و برای همین هم به مشکل برخوردید.

Felony
جمعه 07 آبان 1389, 21:48 عصر
برای حل مشکلتون باید داخل تابع اسم فرم و بعد نام کنترل رو ذکر کنید ، مثلا :


Form2.Edit1.Text:= 'Test';

یا اینکه تابع یا روال مورد نظرتون رو در کلاس مربوط به فرم به عنوان یک متد اعلان کنید ، مثلا :

برای اعلان ( در قسمت Public یا Private ) :


procedure Test;

کد تابع :

procedure TForm2.Test;
begin
Edit1.Text:= 'Test';
end;

u.2u.4u
جمعه 07 آبان 1389, 22:21 عصر
دستتون درد نکنه، مشکل تو این قسمت بود:
procedure TForm2.Test;
begin
Edit1.Text:= 'Test';
end;

من را تایپ نکرده بودم.TForm2.