نمایش نتایج 1 تا 6 از 6

نام تاپیک: درخواست توضیح در مورد این کد

  1. #1
    کاربر دائمی آواتار 1485159
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    NULL
    سن
    30
    پست
    886

    درخواست توضیح در مورد این کد

    سلام میشه در مورد خط قرمز توشح بدید؟
    constructor TCustomForm.Create(AOwner: TComponent);
    begin
    inherited Create(AOwner);
    {$IF DEFINED(CLR)}
    GlobalNameSpace.AcquireWriterLock(MaxInt);
    {$ELSE}
    GlobalNameSpace.BeginWrite;
    {$IFEND}
    try
    FCreatingMainForm := Application.FCreatingMainForm;
    if FCreatingMainForm then
    Application.FCreatingMainForm := False;

    InitializeNewForm;
    if (ClassType <> TForm) and not (csDesigning in ComponentState) then
    begin
    Include(FFormState, fsCreating);
    try
    if not InitInheritedComponent(Self, TForm) then
    raise EResNotFound.CreateFmt(SResNotFound, [ClassName]);
    finally
    Exclude(FFormState, fsCreating);
    end;
    {$IF NOT DEFINED(CLR)}
    if OldCreateOrder then
    {$IFEND}
    DoCreate;
    end;
    finally
    {$IF DEFINED(CLR)}
    GlobalNameSpace.ReleaseWriterLock;
    {$ELSE}
    GlobalNameSpace.EndWrite;
    {$IFEND}
    end;
    end;

  2. #2
    کاربر دائمی آواتار مصطفی ساتکی
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    www.7khatcode.com
    پست
    1,193

    نقل قول: درخواست توضیح در مورد این کد

    یعنی Constructor مربوط به کلاس والد در ابتدا اجرا شده و پس از کد مربوط به Constructor فعلی . البته در شرایطی که Constructor مربوط Override شده باشد . همین قضیه برای Destructor صادق است ولی در انتهای آن.

  3. #3
    کاربر دائمی آواتار 1485159
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    NULL
    سن
    30
    پست
    886

    نقل قول: درخواست توضیح در مورد این کد

    توی پردازش پیام ها هم کاربرد داره؟
    به کار بردن به این صورت چه معنی داره؟
    inherited

  4. #4

    نقل قول: درخواست توضیح در مورد این کد

    به کار بردن به این صورت چه معنی داره؟
    متدی با نام و امضاء متد فعلی را از کلاس والد فراخوانی میکنه.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  5. #5
    کاربر دائمی آواتار 1485159
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    NULL
    سن
    30
    پست
    886

    نقل قول: درخواست توضیح در مورد این کد

    متدی با نام و امضاء متد فعلی را از کلاس والد فراخوانی میکنه.
    خوب قبلی هم همینکارو میکرد دیگه! متدی رو که از کلاس والد Overrideش کرده ایم رو فراخوانی میکنه؟!
    منظور از امضا چیه؟
    در ضمن فقط در ارث بری کاربرد داره؟

  6. #6
    کاربر دائمی آواتار SAASTN
    تاریخ عضویت
    خرداد 1385
    محل زندگی
    تهران
    سن
    39
    پست
    730

    نقل قول: درخواست توضیح در مورد این کد

    احتمالا منظور ترتیب و نوع پارامتر هاست.
    در هر صورت در مورد inherited در صورتی که پارامتر های متد override شده نسبت به پارامتر های متد در کلاس والد تغییری نکرده باشه می تونیم نام و پارامتر ها رو ذکر نکنیم، اما اگه پارامتر ها تغییر کرده باشن دیگه حتما باید نام و پارامتر ها نوشته بشن.
    اگر پارامترها تغییر نکرده باشن ذکر و عدم ذکر نام متد بعد از inherited هیچ تفاوتی نداره (حد اقل از نظر اجرای برنامه، حالا لایه های پایین تر رو نمی دونم).

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •