W pełni obiektowa aplikacja

0

Witam, nie wiem za bardzo jak zabrać się za problem, a praca stoi i czeka.
Chcę stworzyć w pełni obiektową aplikację. Mam główną formatkę o nazwie SPSI:

namespace SPSI
{
    public partial class SPSI : Form
    {
        private TERYT t;
        
        public SPSI()
        {
            InitializeComponent();
            t = new TERYT();
        }

        private void button1_Click_1(object sender, EventArgs e)
        {
            t.OpenWMRODZ();
        }
    }
}

Ta formatka tworzy klasę TERYT, która posiadać kilka formatek w sobie oraz ma za zadanie udostępniać swoje metody tym formatką. Poniżej klasa TERYT;

namespace SPSI
{
    class TERYT
    {
        private FormWMRODZ fWMRODZ = null;
        public BackgroundWorker bgWMRODZ = null;

        public string Path { get; set; }

        public TERYT()
        {
            this.bgWMRODZ = new BackgroundWorker();
            this.bgWMRODZ.WorkerReportsProgress = true;
            this.bgWMRODZ.WorkerSupportsCancellation = true;
            this.bgWMRODZ.DoWork += new DoWorkEventHandler(this.bgWMRODZ_DoWork);
            this.bgWMRODZ.ProgressChanged += new ProgressChangedEventHandler(this.bgWMRODZ_ProgressChanged);
            this.bgWMRODZ.RunWorkerCompleted += new RunWorkerCompletedEventHandler(this.bgWMRODZ_RunWorkerCompleted);
        }

        public void OpenWMRODZ()
        {
            fWMRODZ = new FormWMRODZ();
            fWMRODZ.Show();
        }

        public void OpenFileXML()
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();
           
            openFileDialog.Filter = "eXtensible Markup Language file (*.xml)|*.xml";
            openFileDialog.InitialDirectory = "C:";
            openFileDialog.Title = "Select a xml file";
            openFileDialog.FileName = "";

            if (openFileDialog.ShowDialog() == DialogResult.OK)
            {
                Path = openFileDialog.FileName;
                fWMRODZ.path = Path; // ERROR !! 
                //return openFileDialog.FileName;
            }
            Path = string.Empty;
            //return string.Empty;
        }

W chwili gdy chcę przekazać wartość formatce fWMRODZ dostaję error.
Poniżej zamieszczam kod formatki fWMRODZ:

namespace SPSI
{
    public partial class FormWMRODZ : Form
    {
        private TERYT t = new TERYT();
        public string path = string.Empty;
        //public string Path { get; set; }


        public FormWMRODZ()
        {
            InitializeComponent();
        }

        private void btnUploadFile_Click(object sender, EventArgs e)
        {
            btnConvert.Enabled = false;

            t.OpenFileXML();
            if (path != string.Empty)
            {
                lblResult.Text = "Plik WMRODZ.xml gotowy do importu.";
                lblPath.Text = path;
                btnConvert.Enabled = true;
            }
            else
            {
                lblResult.Text = "Błąd podczas otwarcia pliku WMRODZ.xml!";
                lblPath.Text = path;
            }
        }

Proszę o pomoc w rozwiązaniu problemu

0

Po pierwsze: po co ci w klasie TERYT obiekt klasy FormWMRODZ,a w klasie FormWMRODZ obiekt klasy TERYT, ktory zawiera obiekt
klasy FormWMRODZ, ktory to zawiera obiekt klasy TERYT, ktory to...(sam dopisz dalej).
Po drugie: po co ci BackgroundWorker, ktorego w ogole nie uruchamiasz?(przynajmniej tak wynika z kody ktory podales)
Po trzecie: napisz bardziej rozwiezle co twoj program ma za zadanie robic

0

W ogóle po co klasa TERYT (nazwa wersalikami, bleee) wie coś o jakiś formatkach? Gdzie tu ta obiektowość?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.