Wie CArray einbinden?
-
Hallo!
Ich möchte gern dieses Konstrukt verwenden:
CArray <double, double> aMACurvatureList;wenn ich hierfür jedoch das schreibe:
#include <afxtempl.h>geht das nicht mehr:
System::Windows::Forms::MessageBox::Show("TEXT", this->ToString());da kommt immer:
error C2039: 'MessageBoxA': Ist kein Element von 'System::Windows::Forms'wie kann ich dieses Dilemma lösen??
-
MessageBox is ein Member von CWnd, ne allgemeine Form wäre AfxMessageBox, aber dein Code sihet komsich aus. is das C#? Dann bist im falschen Board
-
Pellaeon schrieb:
is das C#? Dann bist im falschen Board
Das ist managed C++...
pon schrieb:
error C2039: 'MessageBoxA': Ist kein Element von 'System::Windows::Forms'
Da gibt es leider einen Namenskonflikt mit der Einbindung von "windows.h"... Du must also vor Verwednung der .NET-"MessageBox" ein
#undef MessageBox
machen...
-
Siehe auch: Migrationsleitfaden für verwaltete Erweiterungen für C++: http://www.microsoft.com/germany/msdn/library/net/MigrationsleitfadenFuerVerwalteteErweiterungenFuerCPlusPlusTeil2.mspx#EWPAC
-
Danke erstmal für die schnelle Hilfe!!
Das mit dem undef funktioniert, allerdings bringt das #include <afxtempl.h> weitere Fehler mit sich, nämlich:
fatal error C1189: #Fehler: WINDOWS.H already included. MFC apps must not #include <windows.h>Kann man das windows.h irgendwie rausnehmen, oder nur die Sachen für die CArray-Klasse einbinden?
-
Wenn Du die ATL verwendest, dann darfst Du keine windows.h einbinden... also:
#include <afx.h> #undef MessageBox