c++ 11 Event implementation



  • Quelltext wäre spannend...



  • @DocShoe

    Ja ich weiß aber das ist das Problem. Der ist viel zu groß und darf ich auch nicht so raus geben. Drum habe ich ja das Beispiel gemacht. Blöd dass hier der Fehler nicht auftaucht.

    Irgendwas muss anders sein.





  • Ja danke swordfish

    Klar wenn ich ein Beispielprojekt erstellen könnte wo der Fehler auftaucht. Wüßte ich ja auch wo mein Fehler ist.
    Dann bräuchte ich keine Hilfe.



  • Was soll man auf soetwas sagen? Bemüh Dich??



  • Oh man...
    Vielleicht kann mir auch jemand helfen? @booster ?

    Ich habe das Programm

    #include <iostream>
    int main()
    {
      std::cout << "Hallo";
      return 0;
    }
    

    Das funktioniert super. Jetzt habe ich hier aber ein Programm, was irgendwie anders ist und da funktioniert es nicht!
    Den Code darf ich leider nicht zeigen. Kann mir jemand bitte helfen?



  • @booster sagte in c++ 11 Event implementation:

    Ja ich weiß aber das ist das Problem. Der ist viel zu groß und darf ich auch nicht so raus geben. Drum habe ich ja das Beispiel gemacht. Blöd dass hier der Fehler nicht auftaucht.

    Irgendwas muss anders sein.

    Besorgt euch nen Consultant und lasst den ein NDA unterschreiben. Vllt kann der euch weiterhelfen.



  • Hallo Leute alles gut. Ist mir schon klar dass ihr mir nicht helfen könnt wenn ihr keinen Quelltext habt. Habe ich ja gar nicht gefordert. Habe lediglich meinen Unmut geäußert dass in meinem Beispiel der Fehler nicht auftaucht.



  • @booster sagte in c++ 11 Event implementation:

    Hallo Leute alles gut. Ist mir schon klar dass ihr mir nicht helfen könnt wenn ihr keinen Quelltext habt. Habe ich ja gar nicht gefordert. Habe lediglich meinen Unmut geäußert dass in meinem Beispiel der Fehler nicht auftaucht.

    Hast du mal versucht, deinen Originalcode zu nehmen, die relevanten Teile rauszuschneiden und die Reste soweit zu reduzieren, solange der Fehler noch da ist? Funktionen und Objekte kann man ja dann zur Veröffentlichung auch umbenennen, um die tatsächliche Funktionalität zu verschleiern. Das ist natürlich für dich etwas Aufwand, aber wenn du der Sache auf die Spur kommen willst, wird dir vermutlich nicht viel anderes übrig bleiben.



  • Da es in einem frischen Projekt nicht auftritt verlgeich doch mal die compiler Einstellungen. Eventuell sind diese Unterschiedlich und dadurch wird das Problem im eigendlichen Projekt ausgelöst



  • @Th69 sagte in c++ 11 Event implementation:

    OK, habe es noch mal ausprobiert: Ideone-Code
    _someClass.SomethingChanged += std::bind(&Onemoreclass::Print, *this, std::placeholders::_1);

    (beachte die Dereferenzierung bei *this)

    Hm wieso eigentlich Dereferenzierung von this. In Beispielen die ich im Internet gefunden habe wird "this" nicht dereferenziert.

    Also in meinem Testprojekt kompiliert es mit und ohne Dereferenzierung.
    In meinem richtigen Projekt muss ich die Dereferenzierung weg lassen dann gehts.

    Meine Frage ist hier wieso @Th69 hier den this Zeiger dereferenziert und wieso geht es in dem gezeigten Beispiel mit und ohne Dereferenzierung.

    Die Frage lautet nicht "wieso geht es in meinem richtigen Projekt nur ohne Dereferenzierung".



  • @Jockelx sagte in c++ 11 Event implementation:

    Oh man...
    Vielleicht kann mir auch jemand helfen?
    (...)
    Das funktioniert super. Jetzt habe ich hier aber ein Programm, was irgendwie anders ist und da funktioniert es nicht!
    Den Code darf ich leider nicht zeigen. Kann mir jemand bitte helfen?

    Also... ich hoffe dass du wenn du das liest selbst merkst wie weltfremd das ist.

    Naja, wurst, ich kann versuchen dir zu helfen. Ein guter Weg ein minimales Beispiel für ein Problem/einen Fehler zu erzeugen ist mit dem grossen Haufen zu starten der das Problem hat und dann sukkzessive Zeugs rauszulöschen. Schritt für Schritt. Dazwischen immer wieder prüfen ob das Problem noch da ist. Wenn das Problem verschwindet, den letzten Schritt rückgängig machen und damit weitermachen etwas anderes zu löschen. Und immer so fort bis nichts mehr übrig bleibt was man löschen kann ohne dass das Problem verschwindet. Dann sollte das Programm ausreichend klein geworden sein dass du alles anonymisieren kannst und hier (oder wo anders) posten.

    Bzw. oft genug reicht das Erstellen eines solchen minimalen Beispiels auch schon um selbst draufzukommen was das Problem ist.


Log in to reply