Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Form won't release
Message
De
04/11/1998 17:41:29
 
 
À
04/11/1998 17:22:25
Information générale
Forum:
Visual FoxPro
Catégorie:
Programmation Orientée Object
Divers
Thread ID:
00154566
Message ID:
00154600
Vues:
24
John,

This is straight from the .prg
    * ( we're in the class definition here for SnrKeyEntry )

    * Cancel button
    ADD OBJECT cmdCancel AS BsCommand WITH ;
        CANCEL        = .T., ;
        TOP           = THISFORM.HEIGHT - 55, ;
        LEFT          = THISFORM.WIDTH  - ( 77 + 7 ), ;
        CAPTION       = "Cancel"

    *------------------------------------------------------------
    * UPDAAPVMO1_SnrKeyEntry
    PROCEDURE Execute

        * form entry
        THIS.Entry()

        * close
        THIS.CLOSE()
    ENDPROC

    *------------------------------------------------------------
    * UPDAAPVMO1_SnrKeyEntry
    PROCEDURE Entry

        * set bypass
        THIS.lByPass = .F.   && ( PCOUNT() = 0 )

        THIS.InitEntry()
        THIS.InitWindow()
        THIS.InitForms()

        IF THIS.lByPass

            * by-pass senior key entry
            THIS.SetDyna()
            THIS.Proceed()
            THIS.EXIT()

        ELSE
            THIS.InitTBMenu()
            THIS.InitUIE()
            THIS.SHOW
        ENDIF
    ENDPROC

    *------------------------------------------------------------
    * UPDAAPVMO1_SnrKeyEntry
    PROCEDURE InitEntry
        * set defaults
        * override for senior key entry parameters & defaults
    ENDPROC

    *------------------------------------------------------------
    * UPDAAPVMO1_SnrKeyEntry
    PROCEDURE InitWindow
        *
        * position labels and set edit modes for input fields
        THISFORM.cmbPVSET.RESIZE
        THISFORM.cmbPVSET.txtPrompt.INPUTMASK = '99'
        THISFORM.cmbPVSET.txtPrompt.FORMAT = 'K'
    ENDPROC

    *------------------------------------------------------------
    * UPDAAPVMO1_SnrKeyEntry
    PROCEDURE InitForms
    ENDPROC

    *------------------------------------------------------------
    * UPDAAPVMO1_SnrKeyEntry
    PROCEDURE InitTBMenu
    ENDPROC

    *------------------------------------------------------------
    * UPDAAPVMO1_SnrKeyEntry
    PROCEDURE InitUIE
    ENDPROC

    *------------------------------------------------------------
    * UPDAAPVMO1_SnrKeyEntry
    PROCEDURE InitEntry
        * set defaults
        * override for senior key entry parameters & defaults
    ENDPROC

    *------------------------------------------------------------
    * UPDAAPVMO1_SnrKeyEntry
    PROCEDURE CLOSE
        RELEASE THISFORM
    ENDPROC

    *------------------------------------------------------------
    * UPDAAPVMO1_SnrKeyEntry
    PROCEDURE cmdCancel.CLICK
        goApp.lSuccess = .F.
        THISFORM.Release()
    ENDPROC
Thanks a lot for your help

Larry

>Larry --
>
>Let's try this again :-)
>
>What, exactly, are you doing in your Execute method *before* the THIS.Show ()?
>
>>
>>I know... there's probably a dangling reference to the form that prevents is from closing.
>>
>>Problem is ... I'm not sure how to run the form WITHOUT creating a dangling reference...
>>
>>Here's the code:
>>
>>From within an "Option" object:
>>
>>
>>*************************************************
>>* create and run the senior key entry object
>>oPUPDAAPVMO1 = CREATEOBJECT( "UPDAAPVMO1_SnrKeyEntry" )
>>oPUPDAAPVMO1.Execute()
>>
>>
>>Then, within the UPDAAPVMO1_SnrKeyEntry object class definition:
>>
>>
>>*------------------------------------------------------------
>>* UPDAAPVMO1_SnrKeyEntry
>>PROCEDURE Execute
>>    * set some things
>>    THIS.SHOW()
>>ENDPROC
>>
>>*------------------------------------------------------------
>>* UPDAAPVMO1_SnrKeyEntry
>>PROCEDURE cmdCancel.CLICK
>>    goApp.lSuccess = .F.
>>    RELEASE THISFORM
>>ENDPROC
>>
>>
>>So my question is: What code do I put in the class definition (and where) to allow the form to close
>>
>>TIA
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform