Funktionsaufruf - Probleme

Du bist neu in der Welt von C++? Dann schau hier herein!
JeromeBaur
Beiträge: 22
Registriert: 12. Februar 2011 09:52

Funktionsaufruf - Probleme

Beitrag von JeromeBaur »

So hab folgendes Problem. Erstmal pls Dateien angucken sonst kommt man nich draus. Ich will per ne andere cpp eine Funktion aus ner anderen cpp aufrufen (bzw header). das geht leider nicht. es wird compilliert aber es geschieht nix. ich denke es liegt beim slot am this das das ja nicht mehr aufs layout verweisst. ich weis nich auf was sonst. Pls nich wieder links zu den dokumentationen ich hab die gelesen.

Ps: is ziemlich viel in der SpielWidget.cpp das liegt dran das ich das ganze zeug in andere dateien verpacken möcht, mir aber diesen fehler unterlaufen is. Auch die Globalen varis kommen weg


Dateien:
Dateianhänge
Dateien_Projekt.zip
(5.67 KiB) 254-mal heruntergeladen
Zuletzt geändert von JeromeBaur am 17. März 2011 17:45, insgesamt 1-mal geändert.
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Die Datei, auf die Sie zugreifen möchten, ist derzeit leider nicht verfügbar. Bitte versuchen Sie es später erneut.
Pls nutz die Möglichkeit, hier im Forum was anzuhängen. Und bereinig das zip von allen Binaries - du kannst davon ausgehen, dass die die hier helfen Qt installiert haben und kompilieren können.

Ansonsten lässt deine Problembeschreibung zu wünschen übrig. Wir sollen dein Projekt einfach mal debuggen. Dann dürfen wir dich nichtmal auf die Doku verweisen...

Wenn du ernsthaft an einer Lösung interessiert bist, versuch bitte selber erstmal, das Problem einzukreisen. Du scheinst ja zu wissen, welche Funktion wo aufgerufen werden soll, du redest von irgend einem SLOT.
Dann solltest du ja wissen, wie du im Codepfad (die Funkjtionen, die von A nach B nacheinander aufgerufen werden) da hingelangst.
So kannst du erstmal ein minimales Testprogramm schreiben, andem man sich dann weiterhanglen kann.
JeromeBaur
Beiträge: 22
Registriert: 12. Februar 2011 09:52

Beitrag von JeromeBaur »

naja is sehr schwer das zu beschreiben was da failed is usw. hab auch selber sachen probiert das da noch andere dateien drinn sind als die quelldateien tut mir leid nich richtig geguckt.

hm ma gucken was sich machen lässt
JeromeBaur
Beiträge: 22
Registriert: 12. Februar 2011 09:52

Beitrag von JeromeBaur »

Sry Dateien im Anhang
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Was soll das eigentlich für eine Sprache sein wenns fertig ist?
JeromeBaur
Beiträge: 22
Registriert: 12. Februar 2011 09:52

Beitrag von JeromeBaur »

tschuldigung was sprache?
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Die Sourcen hab ich, nur nicht die Lust, alles durchzugehen bis ich nen Fehler find.
Kannst du jetzt bitte noch eine exakte Problembeschreibung posten, in der entsprechende Funktionsnamen, Objektnamen und evtl. Navigationsanweisungen (wo muss ich in der GUI hinklicken) geben?
JeromeBaur
Beiträge: 22
Registriert: 12. Februar 2011 09:52

Beitrag von JeromeBaur »

Also In den Questdatenbank.cpp will ich im void quests per buttondrück von questok eig erreichen, dass sich das createSpielWidget in der SpielWidget.cpp öffnet dies geht leider bei mir nicht, da der compiler dann ja den slot nicht finden kann. Also hab ich dies indirekt versucht in dem ich mir einen slot gebastelt hab der in QuestDatenbank.cpp ist mit namen createSpielWidgetQuest in diesem void rufe ich den createSpielWidget auf :

Code: Alles auswählen

SpielWidget Bla;
Bla.createSpielWidget();
nun greifft der ja auf das createSpielWidget zu es passiert nur leider nichts.
ich weis nich ob bei QuestDatenbank.cpp beim void quests

Code: Alles auswählen

connect(questok, SIGNAL(clicked()),
            this, SLOT(createSpielWidgetQuest()));
das this auf das falsche verweist weil das ja nicht mehr das layout ist.

nun hoffe du kannst mir helfen thx schonma für die antworten von euch =)

vl noch zum Gui
klick erst NPC button
dann Halur
dann annehmen
dann kommt der questtext
dann nach questok button geklickt sollte wieder das spielwidget erscheinen. (Das delete vom questext muss ich dann noch einfügen)
padreigh
Beiträge: 340
Registriert: 13. Mai 2010 10:06

Beitrag von padreigh »

Ich hatte die Sourcen genau bis zum öffnen der main.cpp:

Code: Alles auswählen

#include <QApplication>
#include <QStyle>
#include "menu.h"

extern Menu* menu;

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    menu = new Menu;
    menu->show();
    menu->setStyleSheet( "C:/Users/Jerome/Pictures/4Story gilde/geiles fiech.JPG" );
    return app.exec();
}
Ich hab dann noch kurz in einige Andere reingeschaut - sorry, da möchte ich micht nicht durchklicken. Ich denke du solltest mal 5-10 Examples studieren ... und dort lernen.
Patrick (QtCreator 1.3.1, Qt 4.6.3)
---
template = subdirs
JeromeBaur
Beiträge: 22
Registriert: 12. Februar 2011 09:52

Beitrag von JeromeBaur »

das mit den stylesheet usw hab ich nur ausprobiert.

Das hab ich noch nich weggelöscht

sry =(

Code: Alles auswählen

#include <QApplication>
#include "menu.h"

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    Menu* menu = new Menu;
    menu->show();

    return app.exec();
}
so besser?
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Wie lange lebt dein "SpielWIdget Bla;"?
JeromeBaur
Beiträge: 22
Registriert: 12. Februar 2011 09:52

Beitrag von JeromeBaur »

wie meinst das? ich habs immer wieder zerstört und wieder gebildet falls du das meinst.
solarix
Beiträge: 1133
Registriert: 7. Juni 2007 19:25

Beitrag von solarix »

JeromeBaur hat geschrieben:tschuldigung was sprache?
LOL.. ja genau :?
JeromeBaur hat geschrieben: wie meinst das? ich habs immer wieder zerstört und wieder gebildet falls du das meinst.
franzf meint, dass du dir ganz generell überlegen sollst, wie lange in C++ Variabeln "leben" (wann werden sie wieder zerstört)? Und dann (wenn du das weisst) solltest du nochmals diese Methode anschauen..

hth..
padreigh
Beiträge: 340
Registriert: 13. Mai 2010 10:06

Beitrag von padreigh »

Du könntest ja auch mal darüber nachdenken - statt immer alles zu zerstören - die Sachen einfach unsichtbar zu machen (QWidget::hide()) und vielleicht eine reset() Methode spendieren die das Ding in einen definierten Startzustand bringt - und dann mal auf nem Blatt aufmalen was wann wo angezeigt werden soll ... oder so ...
Patrick (QtCreator 1.3.1, Qt 4.6.3)
---
template = subdirs
JeromeBaur
Beiträge: 22
Registriert: 12. Februar 2011 09:52

Beitrag von JeromeBaur »

an das hab ich auch schon gedacht is aber nich das optimalste denke ich denn das programm soll mal gross werden und wenn da so viele buttons immer noch da sind aber einfach gehidet wüsst ich nicht ob delete nicht besser ist

aber thx für vorschlag
Antworten