internal bool save(CSXml.cXml xDoc, XmlNode nodeFather)
        {
            CSXml.cXmlProperty xProperty = new CSXml.cXmlProperty();
            XmlNode nodeObj = null;

            xProperty.setName(C_LAUNCHINFO);

            if (nodeFather != null)
            {
                nodeObj = xDoc.addNodeToNode(nodeFather, xProperty);
            }
            else
            {
                nodeObj = xDoc.addNode(xProperty);
            }

            xProperty.setName("Action");
            xProperty.setValue(eTypes.eInteger, m_action);
            xDoc.addPropertyToNode(nodeObj, xProperty);

            xProperty.setName("Copies");
            xProperty.setValue(eTypes.eInteger, m_copies);
            xDoc.addPropertyToNode(nodeObj, xProperty);

            xProperty.setName("File");
            xProperty.setValue(eTypes.eText, m_file);
            xDoc.addPropertyToNode(nodeObj, xProperty);

            xProperty.setName("FileFormat");
            xProperty.setValue(eTypes.eInteger, m_fileFormat);
            xDoc.addPropertyToNode(nodeObj, xProperty);

            xProperty.setName("InternalPreview");
            xProperty.setValue(eTypes.eBoolean, m_internalPreview);
            xDoc.addPropertyToNode(nodeObj, xProperty);

            xProperty.setName("ShowPrintersDialog");
            xProperty.setValue(eTypes.eBoolean, m_showPrintersDialog);
            xDoc.addPropertyToNode(nodeObj, xProperty);

            xProperty.setName("Silent");
            xProperty.setValue(eTypes.eBoolean, m_silent);
            xDoc.addPropertyToNode(nodeObj, xProperty);

            xProperty.setName("Sqlstmt");
            xProperty.setValue(eTypes.eText, m_sqlstmt);
            xDoc.addPropertyToNode(nodeObj, xProperty);

            xProperty.setName("StrConnect");
            xProperty.setValue(eTypes.eText, m_strConnect);
            xDoc.addPropertyToNode(nodeObj, xProperty);

            return true;
        }
        internal bool save(CSXml.cXml xDoc, XmlNode nodeFather)
        {
            CSXml.cXmlProperty xProperty = null;
            XmlNode nodeObj = null;
            XmlNode nodeObjAux = null;
            xProperty = new CSXml.cXmlProperty();

            xProperty.setName(C_RPTCONNECT);

            if (nodeFather != null)
            {
                nodeObj = xDoc.addNodeToNode(nodeFather, xProperty);
            }
            else
            {
                nodeObj = xDoc.addNode(xProperty);
            }

            xProperty.setName("DataSource");
            xProperty.setValue(eTypes.eText, m_dataSource);
            xDoc.addPropertyToNode(nodeObj, xProperty);

            xProperty.setName("DataSourceType");
            xProperty.setValue(eTypes.eInteger, m_dataSourceType);
            xDoc.addPropertyToNode(nodeObj, xProperty);

            xProperty.setName("StrConnect");
            xProperty.setValue(eTypes.eText, m_strConnect);
            xDoc.addPropertyToNode(nodeObj, xProperty);

            nodeObjAux = nodeObj;

            xProperty.setName(C_RPTCOLUMNS);
            nodeObj = xDoc.addNodeToNode(nodeObj, xProperty);

            cColumnInfo col = null;
            for (int _i = 0; _i < m_columns.count(); _i++)
            {
                col = m_columns.item(_i);
                if (!col.save(xDoc, nodeObj))
                {
                    return false;
                }
            }

            nodeObj = nodeObjAux;

            xProperty.setName(C_RPTPARAMETERS);
            nodeObj = xDoc.addNodeToNode(nodeObj, xProperty);

            cParameter param = null;
            for (int _i = 0; _i < m_parameters.count(); _i++)
            {
                param = m_parameters.item(_i);
                if (!param.save(xDoc, nodeObj))
                {
                    return false;
                }
            }

            return true;
        }
        internal bool save(CSXml.cXml xDoc, XmlNode nodeFather)
        {
            cReportConnect connect = null;

            if (nodeFather == null)
            {
                CSXml.cXmlProperty xProperty = null;
                xProperty = new CSXml.cXmlProperty();
                xProperty.setName(C_RPTCONNECTSAUX);
                nodeFather = xDoc.addNode(xProperty);
            }

            for (int _i = 0; _i < this.Count; _i++)
            {
                connect = item(_i);
                if (!connect.save(xDoc, nodeFather)) 
                { 
                    return false; 
                }
            }

            return true;
        }