array aus klasse mit return ausgeben und woanders ansprechen



  • Hi!

    Ich möchte gerne in einer Klasse meiner DLL ein array mit "return" ausgeben und darauf von meiner GUI aus zugreifen.
    Aber irgendwie komme ich nicht weiter, und finde auch keine weiterhelfenden Infos...

    Habt ihr eine Idee?

    Die Klasse in der .cpp der DLL:

    int Class1::MeineKlasse()
    

    Bisher hatte ich nur einen Wert zurückgegeben und diesen so von der GUI aus verwendet:

    Form1::tbTest->Text = Convert::ToString(klasse.MeineKlasse());
    


  • Mit was kommst Du nicht weiter ? Ist ja schön das Du ein array zurück geben willst, aber warum machst Du es nicht einfach ? Was fehlt denn an Informationen ?

    In Deinen 2 Zeilen sieht man jetzt keinen Sinvollen Ansatz an dem man was erläutern oder helfen kann.

    DU kannst Dir ja mal cli::array oder List<int> ansehen, vllt. helfen Die die Beispiele dort schon weiter.



  • Wenn ich "return Array[]" schreibe, motzt der compiler wegen den Klammern.
    Wenn ich da eine Zahl in die Klammer schreibe, dann habe ich ja nur einen Wert.
    Die aufgerufene Funktion ist mit "void" deklariert. Bisher habe ich ja nur einen Wert zurückgegeben, da ging das einwandfrei.
    Das mit dem array bekomme ich aber nicht hin...

    Nach den beiden Stichworten gucke ich morgen, dafür bin ich jetzt nicht mehr fit genug.
    Aber danke dafür, mal sehen ob das mir schon weiterhilft.



  • Schonmal ohne Klammern ausprobiert ?
    Denke daran, dass der Rückgabewert deiner Funktion entsprechend definiert sein muss.
    Eine sinnvolle Googlesuche hätte dir folgendes Beispiel geliefert:

    int* function(int a)
    {
        int *b = new int[10];
        for(int i=0;i<10;i++)
        {
            b[i]=a*i;
        }
        return b;
    }
    

    Viel Erfolg



  • Die Initialisierung der Variable in der Klasse der DLL ist jetzt mit

    int OUTPUT[11];
    

    und die Ausgabe mit

    return *OUTPUT;
    

    programmiert.
    Beim Debuggen sehe ich, dass der Wert bei Return ein array mit den richtigen Werten ist.
    Daher nehme ich mal an, dass dies auch ausgegeben wird.

    Aber wie verwende ich das jetzt in meiner .exe-Datei, so dass ich die Zahlenwerte in ein Textfenster bekomme?
    Wie kann ich die ansprechen?

    In der .exe habe ich versucht die Werte zu bekommen und in ein dortiges array zu speichern. Aber das klappt leider nicht.

    int outputDLL[11];
    outputDLL = klasse.MeineKlasse();
    

Anmelden zum Antworten