ورود

View Full Version : مشکل با inherited



حمیدرضاصادقیان
جمعه 11 اسفند 1385, 10:58 صبح
سلام دوستان.من اومدم یک کلاس کلی نوشتم و ابتدا یک procedure داخل اون تعریف کرده بودم به صورت virtual بعد در یک کلاس دیگری که از این کلاس مشتق شده بود اونو تعریف کردم.
در procedure که در کلاس اصلی نوشتم یک سری دستورات نوشتم و در کلاس مشتق شده با استفاده از inherited از اون استفاده کردم.حالا با توجه به نیازم مجبور شدم اینو به function تبدیل کنم تا از مقدار بازگشتی اون بتونم استفاده کنم.در هر دوکلاس تعاریف procedure ها را به function تبدیل کردم ولی دیگه از کلمه inherited نمیشه استفاده کرد. پیغام incompatible type رو میده درصورتی که تایپ هر دو تابع عین هم میمونه.
من مجبور شدم از کلاس اصلی یک شی ایجاد کنم بعد تابع داخل اونو صدا بزنم.
میخواستم ببینم نمیشه از همون inherited استفاده کرد؟

ghabil
جمعه 11 اسفند 1385, 12:10 عصر
مثلا اگر اسم تابع هست AFunc :

بجای Inherited بنویس :


Result := Inherited AFunc ;