Aufruf einer Funktion aus Klasse



  • sprich die Methode DefVar müste this haben oder wie?
    Kannst du mir mal Anhand meines Beispiels ein Beispiel geben, weis nicht genau wo ich das this unterbringen soll!

    Chew-Z schrieb:

    Also ich nehme mal an das Methoden in deinem Sinn Funktionspointer sind.
    Dann müsste es in etwa so funktionieren wie von dir angegeben. Ich nehme mal
    an, das du möglicherweise vergessen hast das nicht statische Memberfunktionen
    alle, als ersten Parameter den this Pointer mitführen auch wenn du ihn nicht
    in der Parameterliste siehst.



  • Sorry, Beispiel (getestet) geht jetzt nicht. 🙂
    Immer der erste Parameter ist ein Zeiger auf ein Objekt der jeweiligen
    Klasse.
    Wenn mein Alter mir kein Streich spielt, 😃 glaube ich das vor nicht allzulanger
    Zeit eine ähnliche Frage schon mal hier im Forum aufgetaucht ist.



  • hab unter http://www.c-plusplus.net/forum/viewtopic.php?t=98635&highlight=zeiger+klasse was ähnliches gefunden, aber ist auch nicht ganz was ich will.

    Hab jetzt mal den Header geändert siehe unten, kommt aber immer noch ein Fehler
    **
    [C++ Fehler] MainWin.cpp(23): E2034 Konvertierung von 'void (TForm1::)()' nach 'void ()()' nicht möglich**

    Header alt:

    class TListLabel
    {
    private:
       HLLJOB m_hJob;
    protected:
    
    public:
      int m_iLastError;
      void* m_fDefineVariable;
    
      TListLabel();
      ~TListLabel();
    

    Header neu:

    typedef void (*MCaller)(); 
    
    class TListLabel
    {
    private:
       HLLJOB m_hJob;
    protected:
    
    public:
      int m_iLastError;
      MCaller m_fDefineVariable;
    
      TListLabel();
    
     ...
    


  • Shade Of Mine schrieb:

    Was will man da mehr antworten als "Benutze Funktionszeiger siehe www.function-pointer.org" ?

    Du solltest dir das wirklich einmal ansehen.
    K



  • Hab ich bereits und komme nicht weiter!

    Wenn du aber weißt wie es geht dann Hilf mir doch bitte.

    Oder gehörst du zu den Forum Useren die nur denken was zu wissen und wenn es dann drauf ankommt geht es bei ihnen selbst nicht so recht. 😉

    ZuK schrieb:

    Shade Of Mine schrieb:

    Was will man da mehr antworten als "Benutze Funktionszeiger siehe www.function-pointer.org" ?

    Du solltest dir das wirklich einmal ansehen.
    K



  • IcemanX schrieb:

    Hab ich bereits und komme nicht weiter!

    Dann erkläre mal was du nicht verstehst, oder warum die lösungen dort für dich nicht funktionieren.
    K.



  • Wenn du dir mal den Eintrag etwas höher ansichts weißt du doch was ich nicht verstehe, aber hier noch mal für die lesefaulen:

    Übergabe einer Mehtode aus einer Klasse an einer Instanzvar. einer Klasse,
    wenn du nun Bahnhof verstehst solltest du weiter oben lesen!

    Auf dieser Hompage sind sehr verschiedene Fälle erklärt nur nicht dieser,
    aber aus deiner Antwort lässt sich vermuten das du dir mein Problem gar nie richtig durchgelesen hast!

    Zeig es mir doch an Hand meines Beispiels oder bist du nur ein Schwätzer???

    Als C++ Enwickler solltest du ein bischen mehr Stolz haben und es dir dadurch auch selbst beweisen. Außerdem, wo bleibt der Teamgeist und guter Wille

    ZuK schrieb:

    IcemanX schrieb:

    Hab ich bereits und komme nicht weiter!

    Dann erkläre mal was du nicht verstehst, oder warum die lösungen dort für dich nicht funktionieren.
    K.



  • [C++ Fehler] MainWin.cpp(23): E2034 Konvertierung von 'void (TForm1::)()' nach 'void ()()' nicht möglich

    sagt dir warums so wie du willst nicht geht.
    unter punkt 3.5 im Funktion Pointer Tutorial wird genauestens erklärt was du machen musst damit es trotzdem funktioniert.

    Zeig es mir doch an Hand meines Beispiels oder bist du nur ein Schwätzer???

    Interesse verloren.
    K.



  • Wie ich sehe liest du echt nicht richtig!!!

    Dies zeigt nämlich den Aufruf eines Zeiges auf eine Methode in der Klasse und nicht ausserhalb 😉

    ZuK schrieb:

    [C++ Fehler] MainWin.cpp(23): E2034 Konvertierung von 'void (TForm1::)()' nach 'void ()()' nicht möglich

    sagt dir warums so wie du willst nicht geht.
    unter punkt 3.5 im Funktion Pointer Tutorial wird genauestens erklärt was du machen musst damit es trotzdem funktioniert.

    Zeig es mir doch an Hand meines Beispiels oder bist du nur ein Schwätzer???

    Interesse verloren.
    K.



  • if you say so.
    K



  • Kannst du mir nun helfen oder kriegt du nur nicht genug Aufmerksamkeit 😡

    Gibt es in diesem Forum auch noch richtige Programmieren oder sind die schon ausgestorben????

    Kein wunder das eine Deutsche Frima nach der andern von den Amis gekauft wird.

    Wor allem man diese Einstellung mancher User in diesem Forum betrachtet.

    Wer kann mir helfen????

    Wäre echt dankbar, hatte bisher nur mit Xbase, Clipper, VB, PHP entwickelt da ist so etwas halt einfacher zu realisieren!!!!

    sorry für mein unwissen, aber ich denke an diesem Problem beissen sich so manche die Zähne aus und nach dem dies Forum auch ne gute Suche hat wäre sicher mit einer guten Antwort so manchen geholfen.

    ZuK schrieb:

    if you say so.
    K



  • IcemanX schrieb:

    Wer kann mir helfen????

    ZuK schrieb:

    [C++ Fehler] MainWin.cpp(23): E2034 Konvertierung von 'void (TForm1::)()' nach 'void ()()' nicht möglich

    sagt dir warums so wie du willst nicht geht.
    unter punkt 3.5 im Funktion Pointer Tutorial wird genauestens erklärt was du machen musst damit es trotzdem funktioniert.



  • IcemanX schrieb:

    Wer kann mir helfen????

    Die Frage ist nicht wer dir helfen kann, sondern wer dir helfen will.



  • Du scheinbar auch nicht! 😞

    Ign0rant schrieb:

    IcemanX schrieb:

    Wer kann mir helfen????

    Die Frage ist nicht wer dir helfen kann, sondern wer dir helfen will.



  • IcemanX schrieb:

    Du scheinbar auch nicht! 😞

    Überleg mal, woran das liegen könnte. 😉

    [] Du hast hier schon mehrfach die entscheidende Hilfe bekommen.
    [
    ] Du zeigst eine erschreckende Lernresistenz.
    [] Du hast Probleme beim sinnentnehmenden Lesen.
    [
    ] Keiner versteht dich.

    Bitte max. 3 Antworten ankreuzen.



  • O.K., macht es mir doch nicht so schwer!!!

    Wenn ich Helfen kann, rede ich auch nicht dumm drum rum, schonern poste möglichst ein Beispiel Anhand des Beispiels des Fragenden.

    Mir kommt es so vor als wäre es hier vielen sehr langweilig und suchen Unterhaltung.

    Also ich sucht ne Lösung, vielleicht stell ich mich ein bisschen an, mag sein, aber gerade deshalb ersuche ich ja Hilfe.

    MFK schrieb:

    IcemanX schrieb:

    Du scheinbar auch nicht! 😞

    Überleg mal, woran das liegen könnte. 😉

    [] Du hast hier schon mehrfach die entscheidende Hilfe bekommen.
    [
    ] Du zeigst eine erschreckende Lernresistenz.
    [] Du hast Probleme beim sinnentnehmenden Lesen.
    [
    ] Keiner versteht dich.

    Bitte max. 3 Antworten ankreuzen.



  • @icemanX:
    verstehst du es wirklich nicht???

    auch wenn du in zwanzig foren postest nützt es dir nicht, wenn du:
    -> die antworten nicht verstehst
    -> du die user die dir helfen wollen als schwätzer bezeichnest

    mein tip:

    -> umgangston beachten
    -> diesen thread noch einmal von anfang an zu lesen
    -> lernen zu verstehen



  • IcemanX schrieb:

    O.K., macht es mir doch nicht so schwer!!!

    Eigentlich machst du es dir selbst schwer. Dein Verhalten schreckt die Helfer ab.

    Wenn ich Helfen kann, rede ich auch nicht dumm drum rum, schonern poste möglichst ein Beispiel Anhand des Beispiels des Fragenden.

    Das ist - zumindest wie ich den Konsens in diesem Forum wahrnehme - schon mal grundsätzlich falsch. Man hilft, indem man dem Fragenden aufzeigt, wo er sich selbst informieren kann. Dabei lernt man mehr als beim bloßen Abschreiben.

    Du hast von mindestens drei Leuten hier einen konkreten Link zu einem Tutorial mit guten Beispielen bekommen. Wenn du hier zeigst, dass du unwillig oder unfähig bist, diese Beispiele auf dein Problem umzusetzen, dann werden viele hier die Schlussfolgerung ziehen, dass es sich nicht lohnt, dir zu helfen.

    Mir kommt es so vor als wäre es hier vielen sehr langweilig und suchen Unterhaltung.

    Ist dir klar, welchen Eindruck DU hier vermittelst?

    Du stellst dich als "bodenloses Loch" für Hilfe dar, weil du nur Hilfe in einer Form akzeptierst, bei der du nicht selbst denken musst. Wenn du nicht selbst denkst, lernst du nichts. Wenn du nichts lernst, stellst du immer wieder dieselben Fragen. Wenn du immer dieselben Fragen stellst, lohnt es sich nicht, dir zu helfen, weil das Zeitverschwendung wäre.

    Ein letzter Versuch: In Kapitel 3.5 im Tutorial auf der hier mehrfach verlinkten Seite steht genau das, was du verstehen musst, um dein Problem zu lösen. Wenn du damit nicht weiterkommst, dann schreib genau, warum. Ansonsten wirst du hier wenig Hilfe erwarten können.



  • Also ich sehe schon, es gibt hier Leute die andere gerne blöd anreden, aber keine Kritik vertragen. Bitte Helft mir endlich mal. Ich würde echt gern mal mit dem Problem abschließen!



  • IcemanX schrieb:

    Also ich sehe schon, es gibt hier Leute die andere gerne blöd anreden, aber keine Kritik vertragen. Bitte Helft mir endlich mal. Ich würde echt gern mal mit dem Problem abschließen!

    Ich erkenne eine akute Schnallbremse. Ich geb's auf.


Anmelden zum Antworten