Seite 1 von 1

MVC Parameter Übergabe

Verfasst: 20. September 2016 23:58
von Basti1990
hallo Gemeinde,

ich versuche mich zum ersten mal an der Model View Controller Programmierung.

Ich habe drei Klassen erstellt eine für die Logik, eine für die Gui und eine für die Steuerung.

aber ich habe ein Problem bei der Paramerübergabe in der Logik klasse.

Code: Alles auswählen

HPP
#ifndef LOGIC_H
#define LOGIC_H

#include <QDebug>
#include "gui.h"

class Gui;

class logic
{

    Gui *testgui;

public:
    logic(Gui *myGui);

    void writeTEST();
};

#endif // LOGIC_H

Code: Alles auswählen

CPP
#include "logic.h"


logic::logic(Gui *myGui)
{
    testgui = myGui;
}

void logic::writeTEST()
{
    testgui->testTE->setText("test"); //Programm stürtzt ab
    //testgui->testTE->setText("test"); //Prgramm läuft
}

Da das Problem eindeutig an dem Aufruf der Funktion liegt
sehe mal wieder den Wald vor lauter Bäumen nicht.

Ich bitte inständig um Verzeihung.

Aber ich bin gerade am verwzweifeln.

MFG Basti1990

Re: MVC Parameter Übergabe

Verfasst: 21. September 2016 19:33
von hilefoks
Moin,

in gui.cpp Zeile 19 erzeugst du eine lokale Variable:

Code: Alles auswählen

MVC *m = new MVC;
Hier willst du aber eigentlich eine Member-Variable haben.

In mvc.cpp machst du folgendes:

Code: Alles auswählen

MVC::MVC(QObject *parent) : QObject(parent) {}

logic *l;

void MVC::writeMVC()
{
    l->writeTEST();
}
Sinnvoll wäre auch hier eine Membervariable für l, aber viel wichtiger: Du initialisiert deine Variable l nicht. ;-)

MfG
Hilefoks