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

Luca

Treue Seele

  • »Luca« ist der Autor dieses Themas

Beiträge: 188

Wohnort: Braunschweig

  • Private Nachricht senden

1

24.04.2012, 17:13

SFML - Gelöschter Code wird immer noch ausgeführt!

Hallo,
Habe ein kleines Problem mit einem kleinen Programm. Ich habe ein SFML Window erstellt und ein Programmcode geschrieben, welcher mir die aktuelle Pos. des Mauszeigers auf dem Window ausgibt. Wenn ich nun aber den Code lösche:

Quellcode

1
2
3
case sf::Event::MouseMoved:
                std::cout << "The mouse was moved to X=" << Event.mouseMove.x << " Y=" << Event.mouseMove.y << std::endl;
                break;


dann wird dieser Code immer noch ausgeführt, obwohl er eben gar nicht mehr existiert. Das Programm läuft im Debug Modus und ich lasse es immer noch mal neu erstellt, wenn ich F5 drücke (also wenn das Hinweisfenster kommt, dass der Code veraltet ist und das er neu erstellt werden muss. Dort klicke ich immer auf 'Ja')

Ich hoffe mir kann jemand sagen, woran das liegt.

Gruß,
Lardos

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

2

24.04.2012, 17:18

Erstell mal die Projektmappe neu (Ctrl+Alt+F7). Kann sein, dass er da nicht richtig aufgeräumt hat.

3

24.04.2012, 17:18

Hallo,

das sollte zwar eigentlich nicht passieren, aber manchmal verstolpert sich der Compiler, so dass ein Modul nicht neu erstellt wird, obwohl es müsste. Ich würde dir empfehlen, das gesamte Projekt einmal neu zu erstellen. Den Befehl dazu müsste es unter Debuggen -> Neu erstellen geben. Dann wird das gesamte Kompilat gelöscht und neu aufgebaut.

Gruß

Luca

Treue Seele

  • »Luca« ist der Autor dieses Themas

Beiträge: 188

Wohnort: Braunschweig

  • Private Nachricht senden

4

24.04.2012, 18:05

So, habe Projektmappe mehrmals neu erstellt, leider ohne Erfolg. Habe eben mal das gesamte Projekt neu erstellt und den alten Code reinkopiert. Und siehe da, es ging. Konnte mehrmals mein Programm ändern und neu starten. Aber nach etwa 2-3 Änderungen am Code, hab ich das gleiche Problem wie vorhin... Woran liegt das!? Hilft es vlt. etwas Visual Studio neu zu installieren?

Gruß,
Lardos

CBenni::O

1x Contest-Sieger

Beiträge: 1 145

Wohnort: Stuttgart

  • Private Nachricht senden

5

24.04.2012, 18:42

Schon mal nen neustart versucht?
In Game Programming Gems werden 4 reset-stufen aufgelisted (wenn ich sie richtig im Kopf habe)
- Retry
- Rebuild
- Reboot
- Reinstall

Die ersten beiden hast du, weiter gehts ;)
Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.
42!
Aufräumen kann jeder, nur das Genie überblickt das Chaos!
Metal will never die!
1. Sppro Gamecontest - mein Beitrag

6

24.04.2012, 18:43

Schaden kann es in dem Fall nicht wirklich.
Mach mal, vielleicht klappt es dann? :]

MfG
Check

CBenni::O

1x Contest-Sieger

Beiträge: 1 145

Wohnort: Stuttgart

  • Private Nachricht senden

7

24.04.2012, 18:49

Es kann gut sein, dass irgendwelche Caching Files nicht gelöscht werden.
Nen Reboot hat mir schon öfter geholfen, Visual Studio musste ich noch nie neu installieren ^^

mfg CBenni::O
Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.
42!
Aufräumen kann jeder, nur das Genie überblickt das Chaos!
Metal will never die!
1. Sppro Gamecontest - mein Beitrag

Luca

Treue Seele

  • »Luca« ist der Autor dieses Themas

Beiträge: 188

Wohnort: Braunschweig

  • Private Nachricht senden

8

24.04.2012, 19:08

Ja, reinstall hat auch nichts gebracht -.-***

Was genau ist mit nem reboot gemeint?

CBenni::O

1x Contest-Sieger

Beiträge: 1 145

Wohnort: Stuttgart

  • Private Nachricht senden

9

24.04.2012, 19:13

PC neustarten.

Veröffentliche mal deinen ganzen Code. Versuche, (in einer Kopie deines Projektes) das Problem zu reproduzieren. Lösche (in deiner Kopie) so viel code wie möglich, sodass das Problem immer noch besteht. Baue absichtlich einen Compiler fehler ein und zu sehen, ob der code überhaupt geparst+übersetzt wird.

sei kreativ :P
Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.
42!
Aufräumen kann jeder, nur das Genie überblickt das Chaos!
Metal will never die!
1. Sppro Gamecontest - mein Beitrag

Luca

Treue Seele

  • »Luca« ist der Autor dieses Themas

Beiträge: 188

Wohnort: Braunschweig

  • Private Nachricht senden

10

24.04.2012, 19:17

PC musste ich sowieso neu starten, als ich das Programm neu installiert hab. Hat leider nicht geklappt. Habe auch schon absichtliche Fehler eingebaut, habe sogar einmal den gesamten Code gelöscht. Aber selbst dann aktualisiert der Compiler den Code nicht...

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <SFML\Graphics.hpp>
#include <iostream>
#include "player.hpp"

using namespace std;

// player class
#include <iostream>

using namespace std;

class player
{
    private:

    public:
        player::player()
        {
            cout << "Spieler wurde erfolgreich erstellt." << endl;
        }
    
};




int main()
{
    sf::VideoMode VMode(800, 600, 32);
    sf::RenderWindow Window(VMode, "SFML - Empty Window");
    
    while(Window.isOpen())
    {
        sf::Event Event;
        while(Window.pollEvent(Event))
        {
            switch(Event.type)
            {

            case sf::Event::Closed:
                std::cout << "The window was closed." << std::endl;
                Window.close();

            case sf::Event::key:
                if (Event.key.code == sf::Keyboard::F1)
                {
                    player P1;
                }

                default:
                    break;
            }
        }
        
        Window.clear(sf::Color(0,255, 255));
        Window.display();

    }

    return 0;
}

Werbeanzeige