• 能详细说一下action:=cafree这句吗?好多书都没说清楚!


      1. 关闭一个窗口有几种方式:最小化这个窗口,隐藏这个窗口,释放这个窗口,这句话就是说但这个窗口关闭的时候释放这个窗口,它应该是在form的onclose事件里面的
          
      2. 就是form.onclose()
         begin
          Action:=cafree;
         end;它的做用是不是相当于form.relase或form.free?
          
      3. procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
        begin
          action:=cafree; //TCloseAction = (caNone, caHide, caFree, caMinimize);end;
        其中action有四种取值按顺风序分别:什么也不做,隐藏,释放,最小化
        action代表当触发窗体OnClose事件时,以哪种方式去响应!
          
      4. 其实你看一下Forms单元的代码
        forms.pas的4513行就明白了
        procedure TCustomForm.Close;
        var
          CloseAction: TCloseAction;
        begin
          if fsModal in FFormState then
            ModalResult := mrCancel
          else
            if CloseQuery then
            begin
              if FormStyle = fsMDIChild then
                if biMinimize in BorderIcons then
                  CloseAction := caMinimize else
                  CloseAction := caNone
              else
                CloseAction := caHide;
              DoClose(CloseAction);
              if CloseAction <> caNone then
                if Application.MainForm = Self then Application.Terminate
                else if CloseAction = caHide then Hide
                else if CloseAction = caMinimize then WindowState := wsMinimized
                else Release;
            end;
        end;
        当等于caFree时就Release;
        而Close是响应WM_CLOSE调用的
        forms.pas的4093行
        procedure TCustomForm.WMClose(var Message: TWMClose);
        begin
          Close;
        end;
        也可以是由你的代码调用
          
      5. 当form.onclose事件触发时,action参数会取一个值,缺省情况它取caMinimize,因为传参caMinimize的结果不会影响到一分配的类型指针空间,不然,可能会因为内存使用错误导致内存泄漏。
          
      6. 当form.onclose事件触发时,action参数会取一个值,缺省情况它取caMinimize,因为传参caMinimize的结果不会影响到已分配的类型实例指针空间,不然,可能会因为内存使用错误导致内存泄漏。
            如果action:=cafree 就把分配给Tform类型实例的内存空间释放,但是,这仍然是不可靠的,因为,form实例的指针仍然指向这个内存地址,所以你必须在form.ondestroy事件中写如下代码:form:=nil;
             这就完了吗?NO!
             现在,你无法将它再实例化了,So,你在从新实例化它之前,必须如下:
             if not assigned(form) then
                form:=Tform.create(self);
                form.show;
          
      7. 在OnClose 事件中
        Free;

        self.Free;
        有什么区别?
          
      8. vcmfc,great123,冰棍他妈的老B真难操
        vcmfc,great123,再操冰棍他妈的B----大贱B
        vcmfc,great123,冰棍,你妈是我干的!真的!
        vcmfc,great123,冰棍,Mda在床上等我,怎么办?
        vcmfc,great123,冰棍,Mda叫我晚上去操她!
        vcmfc,great123,冰棍,你老妈前几天跟一条狗搞在一起呀!!
        vcmfc,great123,冰棍,你老妈前几天被狗操翻了
           
  • 相关阅读:
    spring3 的restful API RequestMapping介绍
    论文笔记之:DualGAN: Unsupervised Dual Learning for Image-to-Image Translation
    (zhuan) Some Talks about Dual Learning
    论文笔记之 SST: Single-Stream Temporal Action Proposals
    论文笔记之:Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning
    Tutorial: Generate BBox or Rectangle to locate the target obejct
    论文阅读:CNN-RNN: A Unified Framework for Multi-label Image Classification
    关于 Image Caption 中测试时用到的 beam search算法
    论文阅读: End-to-end Learning of Action Detection from Frame Glimpses in Videos
    (转)Awesome Courses
  • 原文地址:https://www.cnblogs.com/jijm123/p/11259585.html
Copyright © 2020-2023  润新知