Globale Funktion in Mixed-Code-Umgebung



  • Hallo Leute,
    endlich ist das Forum wieder online. Hatte schon Entzugserscheinungen.

    Ich programmiere im Moment eine Anwendung mit Windows Forms und C++.
    Ich verwende eine Mixtur aus managed und unmanaged Code. Eigentlich ist nur der Code meiner GUI managed (Form1.h).
    Die restlichen Klassen verwenden normales C++.

    Meine GUI besitzt eine "Textbox", welche während der Laufzeit ein paar Infos zu Berechnungsdetails ausgeben soll.

    Wie kann ich jetzt eine globale Funktion definieren, die ich in allen anderen Klassen verwenden kann um irgendwelche Ausgaben zu generieren ?
    Möchte nicht jedesmal einen Zeiger oder ne Referenz auf die Textbox übergeben.

    Sie sollte in etwa so aussehen:

    public System::Void output(std::string text){
    // Hier Umwandlung des std::string in einen System::String
    Form1::textbox1 += text;
    }
    

    Danke

    Blue



  • Die Konvertierung von std::string zu System::String ist so recht schwierig.
    Habe es versucht, aber nicht hinbekommen.
    Wieso benutzt Du nicht überall std::string oder System::String, dass sollte doch nicht das Problem sein?

    Gruß Doug_HH



  • Doug_HH schrieb:

    Die Konvertierung von std::string zu System::String ist so recht schwierig.

    Das ist nicht das Problem. Es geht folgendermaßen:

    public System::Void output(std::string text){
    System::String ^ ausgabe = gcnew System::String(text.c_str());
    Form1::textbox1 += ausgabe;
    }
    

Anmelden zum Antworten