Estoy haciendo un programa en .net y tengo una duda que no se como resolver:
Intentaré explicarme lo mejor posible:
En VB.net tengo varios formularios(form1.vb, form2.vb.....), una clase global(claseGlobal.vb), y varios ficheros xml.
Se supone que la claseGlobal.vb tiene metodos para leer varios ficheros xml(con su schema) y guardar lo leido en un dataTable:
Public Class claseGlobal
Public idUsuario As String
Public dtMarca As Data.DataTable
Public dtModelo As Data.DataTable
'Funcion para leer las marcas del fichero XML
Public Function xmlMarca()
Dim statesDS As New Data.DataSet
Dim aName As String
Dim xmlFileName As String
Dim xsdFileName As String
Try
aName = System.Reflection.Assembly.GetExecutingAssembly.GetModules()(0).FullyQualifiedName
xmlFileName = System.IO.Path.GetDirectoryName(aName) + "/marca.xml"
xsdFileName = System.IO.Path.GetDirectoryName(aName) + "/marca.xsd"
Dim FsXML As New IO.FileStream(xmlFileName, IO.FileMode.Open)
Dim FsXSD As New IO.FileStream(xsdFileName, IO.FileMode.Open)
' leemos el schema del DataSet.
Dim xtrXSD As New Xml.XmlTextReader(FsXSD)
statesDS.ReadXmlSchema(xtrXSD)
xtrXSD.Close()
FsXSD.Close()
' leemos los datos del DataSet.
Dim xtrXML As New Xml.XmlTextReader(FsXML)
statesDS.ReadXml(xtrXML)
xtrXML.Close()
FsXML.Close()
'Guarda la tabla marca en el dt dtMarca.
dtMarca = statesDS.Tables("marca")
Catch exException As Exception 'Exception
Return 0
End Try
Return 1
End Function
End Class
El problema es el siguiente:
Quiero inicializar esta claseGlobal al arrancar el programa y que sea accesible todas las propiedades (dtMarca y dtModelo) desde TODOS los formularios
La pregunta es:
1.- ¿Que tendría que poner el formulario principal para inicializar la claseGlobal?
2.- ¿Que tendría que poner en los sucesivos formularios para poder usar las propiedades de claseGlobal (dtMarca y dtModelo)?
Un saludo y gracias por vuestras respuestas.