Referenz auf System::String



  • Wie kriege ich eine Referenz auf einen System::String?

    bool IsDate(String^ &text);
    

    Das klappt leider nicht, es kompiliert zwar, wenn ich das so kompiliere, wenn ich dann aber einen String übergebe

    bool i = IsDate(this->TextBoxDate->Text);
    

    klappt das nicht mehr.. (Kriege einen error, dass das nicht konvertiert werden kann..) Wie stelle ich das an das die Funktion den String bearbeiten kann?



  • Hallo

    void Func(String ^s)		
    {
    	s = "World";
    };
    
    // ...
    String ^a = "Hello";
    Func(a);
    

    Wenn Du eine Referenz willst, gehe ich davon aus, dass Du den übergebenen Wert ändern möchtest also in dem Fall den Inhalt der Textbox? Falls ja müsstest Du ein Handle auf die Textbox übergeben.

    void Func(TextBox ^tb)		
    {
    	tb->Text = "...";
    };
    
    // ...
    
    Func (Name_Der_TextBox);
    

    Gruss
    foo



  • seit kurzem (ca. 15min ^^) bekomme ich diesen Error

    error LNK2028: Nicht aufgelöstes Token (0A000036) ""bool __clrcall control::IsStringEmpty(class System::String ^)" (?IsStringEmpty@control@@$$FYM_NP$AAVString@System@@@Z)", auf das in Funktion ""private: void __clrcall Inventarverwalten::Form1::ButtonOK_Click(class System::Object ^,class System::EventArgs ^)" (?ButtonOK_Click@Form1@Inventarverwalten@@$$FA$AAMXP$AAVObject@System@@P$AAVEventArgs@4@@Z)" verwiesen wird.
    

    Sowohl wenn ich einen String als auch eine TextBox an die Funktion übergeben will.. und ich kann mir das beim besten willen nicht eklären

    Eigentlich möchte ich aber keine TextBox übergeben weil die Funktion auch mit normalen Strings funktionieren soll

    ::edit::
    Link-Error gelöst.. war ein ganz blöder fehler meinerseits^^

    Was ich immer noch gerne wissen täte wäre wie eine Funktion aussieht die einen String bearbeitet..
    was ich meine ist:

    void func(std::string &test)
    {
        test = "hallo";
    }
    

    auf den System::String übertragen



  • Argus Magnus schrieb:

    Wie kriege ich eine Referenz auf einen System::String?

    bool IsDate(String^ &text);
    

    Das klappt leider nicht, es kompiliert zwar, wenn ich das so kompiliere, wenn ich dann aber einen String übergebe

    bool i = IsDate(this->TextBoxDate->Text);
    

    klappt das nicht mehr.. (Kriege einen error, dass das nicht konvertiert werden kann..) Wie stelle ich das an das die Funktion den String bearbeiten kann?

    bool IsDate(String^ %text);
    

    C++/CLI tracking reference benutzen 😉


Log in to reply