MessageBox problem



  • hi

    ich wollte aus einer meiner anwendungen alle texte entfernen und auserhalb in verschiedenen daten ablegen, so das man dann durch ändern dieser datei(des dateipfades) die sprache umstellen kann.
    das klappt auch alles soweit ganz gut nur macht bei mir die messagebox nicht mit:(
    erstmal meine funktion:

    String text(int a)
               {
               String b;
               if (FileExists("Daten\\config.ttl")==true)
                  {
                  try{
                     list = new TStringList;
                     list->LoadFromFile("Daten\\config.ttl");
                     b=list->Strings[0];
                     }
                  __finally
                     {
                     delete list;
                     }
                  }
               if (FileExists("Daten\\"+b+".ttl")==true)
                  {
                  try{
                     list = new TStringList;
                     list->LoadFromFile("Daten\\"+b+".ttl");
                     b=list->Strings[a];
                     }
                  __finally
                     {
                     delete list;
                     }
                  }
               return b;
               }
    

    und dann schlieslich in der anwendung da wo die massagebox ist

    Application->MessageBox(Form1->text(5),Form1->text(6),MB_OK);
    

    der bringt dann folgene fehler raus:

    [C++ Fehler] grafikladen.cpp(88): E2034 Konvertierung von 'AnsiString' nach 'const char *' nicht möglich
    [C++ Fehler] grafikladen.cpp(88): E2342 Keine Übereinstimmung des Typs beim Parameter 'Text' ('const char *' erwartet, 'AnsiString' erhalten)
    [C++ Fehler] grafikladen.cpp(88): E2034 Konvertierung von 'AnsiString' nach 'const char *' nicht möglich
    [C++ Fehler] grafikladen.cpp(88): E2342 Keine Übereinstimmung des Typs beim Parameter 'Caption' ('const char *' erwartet, 'AnsiString' erhalten)
    

    hoffe jemand kann mir helfen 😕



  • man kann mit c_str() einen String in einen const char "wandeln"

    Btw falsches Forum, solltest ins Builder Forum 😉



  • geht nun ohne fehlermeldung aber der text der da erscheinen sollte ist nun ganz weg

    sorry wuste net das es ins andere gehört



  • Hallo

    mir ist schleierhaft, was sich hinter diesem Konstrukt verbirgt

    Form1->text(5)
    

    Was für ein Typ ist ->text?

    bis bald
    akari



  • das ist die funktion, die er drüber gepostet hat!



  • Hallo

    hm, stimmt.. ist mir nicht aufgefallen, weil er text() als Member von Form1 aufruft, die Funktion aber nicht als Member deklariert hat (zumindetsens nicht in dem Codeausschnitt hier im Forum).

    bis bald
    akari



  • jo, er gibt uns nur mangelnde infos 😉



  • Der Einsatz des Debuugers würde hier sicher auch helfen.
    Dieser Thread gehört aber eigentlich geschlossen, da das Gleiche bereits im BCB-Forum diskutiert wird.
    http://www.c-plusplus.net/forum/viewtopic-var-t-is-132234.html


Anmelden zum Antworten