MVC Parameter Übergabe

Alles rund um die Programmierung mit Qt
Antworten
Basti1990
Beiträge: 17
Registriert: 31. März 2014 17:38

MVC Parameter Übergabe

Beitrag 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
Dateianhänge
TestMVC.zip
(2.62 KiB) 242-mal heruntergeladen
hilefoks
Beiträge: 144
Registriert: 13. März 2008 16:09

Re: MVC Parameter Übergabe

Beitrag 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
Antworten