Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Inatrox

Frischling

  • »Inatrox« ist der Autor dieses Themas

Beiträge: 61

Wohnort: Dresden

  • Private Nachricht senden

1

29.04.2015, 20:14

[C++, SFML] pollEvent von einem Übergebenem Fenster aufrufen

Hallo Leute,

also ich habe das Problem das ich eine Klasse geschrieben habe, welche das Fenster initsialisiert und Speicher für das Fenster belegt wird (durch new ...). Ich überge das Fenster dann mittels Getter an eine andere Klasse in der die Hauptschleife läuft. Das Programm läuft, jedoch immer wenn ich das Fenster schließe (durch Escape oder drücken von dem Kreuz) unterbricht das Programm und es spuckt eine Fehlermeldung aus. Bitte um Hilfe. Bilder im Anhang.

MFG Introx
»Inatrox« hat folgende Bilder angehängt:
  • Hauptschleife.PNG
  • Fehlermeldung.PNG
cout << "Programmieren muss sein" << endl;

2

29.04.2015, 20:26

Dein Zeiger, warum auch immer du einen benutzt, wird wohl invalide, wenn du es schließt. Leider wird er aber trotzdem benutzt. ;)

MfG
Check

Inatrox

Frischling

  • »Inatrox« ist der Autor dieses Themas

Beiträge: 61

Wohnort: Dresden

  • Private Nachricht senden

3

29.04.2015, 20:30

Was bedeutet Invalide :D
cout << "Programmieren muss sein" << endl;

4

29.04.2015, 20:33

Das heißt, dass er auf ein nicht (mehr) existierendes Objekt zeigt ;)

Inatrox

Frischling

  • »Inatrox« ist der Autor dieses Themas

Beiträge: 61

Wohnort: Dresden

  • Private Nachricht senden

5

29.04.2015, 20:35

OK Danke für die schnelle Antwort. :)
cout << "Programmieren muss sein" << endl;

6

29.04.2015, 20:40


Dein Zeiger, warum auch immer du einen benutzt, wird wohl invalide, wenn du es schließt. Leider wird er aber trotzdem benutzt. ;)


Könnte auch m_pFrameWork sein!

Aber einfach mal debuggen dann sollte der Fehler schnell gefunden sein.
Wer aufhört besser werden zu wollen hört auf gut zu sein!

aktuelles Projekt:Rickety Racquet

7

29.04.2015, 20:55


Dein Zeiger, warum auch immer du einen benutzt, wird wohl invalide, wenn du es schließt. Leider wird er aber trotzdem benutzt. ;)


Könnte auch m_pFrameWork sein!

Aber einfach mal debuggen dann sollte der Fehler schnell gefunden sein.

2. Screenshot :)

MfG
Check

Inatrox

Frischling

  • »Inatrox« ist der Autor dieses Themas

Beiträge: 61

Wohnort: Dresden

  • Private Nachricht senden

8

29.04.2015, 20:58

Hab den Fehler schon gefunden. Ich habe durch m_pFramework->Quit () den Zeiger gelöscht und die while-Schleife läuft dann noch einmal durch und braucht den Zeiger dafür. Hab das m_pFramework->Quit () jetzt nach die Hauptschleife gesetzt und funktioniert super. :thumbsup:
cout << "Programmieren muss sein" << endl;

9

29.04.2015, 21:01

Töftetöfte. :thumbup:
Warum benutzt du nun Zeiger? Welchen Typ haben die? sf::RenderWindow* oder std::unique_ptr<sf::RenderWindow>?

MfG
Check

Inatrox

Frischling

  • »Inatrox« ist der Autor dieses Themas

Beiträge: 61

Wohnort: Dresden

  • Private Nachricht senden

10

29.04.2015, 21:26

sf::Renderwindow und ich benutze Zeiger weil ich sie angenehmer finde als normale Instanzen.
cout << "Programmieren muss sein" << endl;

Werbeanzeige