Exception->Message in String-Variable schreiben
-
Hallo,
wieso kann ich die "Message" aus meinem "System::Exception" nicht in eine String-Variable tun?
... #include <string> ... using std::string; ... string ErrorMessage; ... try { MyConnection->Open(); return true; } catch(System::Exception * e) { ErrorMessage = e->Message->ToString; return false; } ...
Es kommen drei Fehlermeldungen:
filename.cpp(28): error C2475: 'System::String::ToString': Erstellen eines Zeigers auf einen Member erfordert die explizite Verwendung des Adressoperators ('&') und einen gekennzeichneten Namen
filename.cpp(28): error C2440: '=': 'overloaded-function' kann nicht in 'std::string' konvertiert werden
filename.cpp(28): error C2593: 'Operator =' ist mehrdeutig
Kann mir geholfen werden?
Vielen Dank & Liebe Grüße
-
Servus,
warum benutzt du denn nicht die System::String Klasse von .Net? Ich weiss jetzt nicht wie das Andere machen, da ich auch nicht soviel mit C++.Net zu tun habe, würde ich trotzdem vorschlagen die StringKlasse von .Net zu benutzen.
System::String* error = NULL; try { } catch (System::Exception *e) { error = e->Message; }
mfg
Hellsgore
-
hmm... Dank für die Antwort. Ich habe folgendes:
System::String* error = NULL;
Aber das funktioniert leider nicht. Ich bekomme folgende Fehlermeldungen:
filename.h(6): error C2864: 'error': Es können nur konstante statische integrale Datenmember innerhalb einer Klasse oder einer Struktur initialisiert werden
...und...
filename.h(6): error C3265: Ein verwalteter 'error' kann nicht in einem nicht verwalteten 'cKlassenname' deklariert werden
-
Tach,
Ich würds so machen:
System::String* error = String::Empty; //bzw. System::String* error = "";
Guennsen