databridge 中有个属性property Active        : Boolean read FActive write SetActive default False;
当我给Active赋值时,他是怎样调用SetActive方法的阿Active := True;

解决方案 »

  1.   


    我想知道是怎么自动调用的是编译器在编译时,编译到read write时,会形成相应编译的代码么我怎么才能看到怎么实现的呢
      

  2.   

    编译的时候,直接
    Active := True;
    编译成了,CALL TClass.SetActive,并把后面的值和对象当参数传过去
      

  3.   


    system源代码里有好多汇编function _ClassCreate(AClass: TClass; Alloc: Boolean): TObject;
    asm
            { ->    EAX = pointer to VMT      }
            { <-    EAX = pointer to instance }
            PUSH    EDX
            PUSH    ECX
            PUSH    EBX
            TEST    DL,DL
            JL      @@noAlloc
            CALL    DWORD PTR [EAX] + VMTOFFSET TObject.NewInstance
    @@noAlloc:
    {$IFNDEF PC_MAPPED_EXCEPTIONS}
            XOR     EDX,EDX
            LEA     ECX,[ESP+16]
            MOV     EBX,FS:[EDX]
            MOV     [ECX].TExcFrame.next,EBX
            MOV     [ECX].TExcFrame.hEBP,EBP
            MOV     [ECX].TExcFrame.desc,offset @desc
            MOV     [ECX].TexcFrame.ConstructedObject,EAX   { trick: remember copy to instance }
            MOV     FS:[EDX],ECX
    {$ENDIF}
            POP     EBX
            POP     ECX
            POP     EDX
            RET{$IFNDEF PC_MAPPED_EXCEPTIONS}
    @desc:
            JMP     _HandleAnyException  {       destroy the object                                                      }        MOV     EAX,[ESP+8+9*4]
            MOV     EAX,[EAX].TExcFrame.ConstructedObject
            TEST    EAX,EAX
            JE      @@skip
            MOV     ECX,[EAX]
            MOV     DL,$81
            PUSH    EAX
            CALL    DWORD PTR [ECX] + VMTOFFSET TObject.Destroy
            POP     EAX
            CALL    _ClassDestroy
    @@skip:
      {       reraise the exception   }
            CALL    _RaiseAgain
    {$ENDIF}
    end;
    是在这个unit里面么
      

  4.   

    Active := True;在这句设一个断点,断下来的时候,按ALT+C,就看到这行编译之后的汇编代码了
      

  5.   


    我的ALT+C怎么不行啊
    不会是和插件的快捷键冲突了吧...
    查看的窗口叫什么?
      

  6.   

    吼吼,找到鸟,不会就是那个CPU窗口吧...