public void free()
    {
        this.handleRecordChange(DBConstants.BEFORE_FREE_TYPE);
        
        if (m_depScreens != null)
        {
            while (m_depScreens.size() > 0)
            {
                ComponentParent screen = m_depScreens.elementAt(0);
                screen = screen.getRootScreen();
                screen.free();
            }
            m_depScreens.removeAllElements();
            m_depScreens = null;
        }

        m_dbEditMode |= DBConstants.EDIT_CLOSE_IN_FREE;   // This is a cludge... signals tables that this is the last close()!
        this.close();

        if (m_recordOwner != null)
            ((RecordOwner)m_recordOwner).removeRecord(this); // Take this query off the document's list
        m_recordOwner = null;

        while (m_listener != null)
        {
            this.removeListener(m_listener, true);    // free all the behaviors
        }
        m_dbEditMode &= (~DBConstants.EDIT_CLOSE_IN_FREE);

        super.free(); // Free fields, free table.
    }
public void free ( ) { this . handleRecordChange ( DBConstants . BEFORE_FREE_TYPE ) ; if ( m_depScreens != null ) { while ( m_depScreens . size ( ) > 0 ) { ComponentParent screen = m_depScreens . elementAt ( 0 ) ; screen = screen . getRootScreen ( ) ; screen . free ( ) ; } m_depScreens . removeAllElements ( ) ; m_depScreens = null ; } m_dbEditMode |= DBConstants . EDIT_CLOSE_IN_FREE ; this . close ( ) ; if ( m_recordOwner != null ) ( ( RecordOwner ) m_recordOwner ) . removeRecord ( this ) ; m_recordOwner = null ; while ( m_listener != null ) { this . removeListener ( m_listener , true ) ; } m_dbEditMode &= ( ~ DBConstants . EDIT_CLOSE_IN_FREE ) ; super . free ( ) ; }
Free.