004
26.11.2004, 20:21 Uhr
Joltan
|
He, das hat man davon wenn man wie ich bisher nur gelegentlich ANSI C++ in der Konsole programmiert hat...
Ok, da ich noch am Anfang stehe und die restlichen Teile des Codes daher leicht anpassen kann denke ich es wäre wahrscheinlich das beste direkt alles in .NET zu machen - da habe ich zwar weder Erfahrung noch eine gute Dokumentation, aber ich mach's ja primär um was zu lernen!
Es wäre also wahrscheinlich am besten auch für meine einzelnen Variablen die entsprechenden .NET Typen System::String und System::Int16 zu verwenden. Dann habe ich aber ein Problem mit der Klassendefinition: Sobald ich eine ArrayList definiere bekomme ich eine Fehlermeldung weil ich gemanagte Typen in einer nicht-gemanagten Klasse verwende:
Code: |
t:\C++\WindowsTest\WindowsTest\ServerClass.h(23) : error C3265: cannot declare a managed 'iName' in an unmanaged 'ServerClass' may not declare a global or static variable, or a member of a native type that refers to objects in the gc heap
|
Und das egal ob ich nun
C++: |
System::Collections::ArrayList ServerList;
|
oder
C++: |
System::Collections::ArrayList ServerList = gcnew ServerList;
|
verwende. Letzteres sollte die Klasse doch eigentlich ebenfalls 'managed' machen, oder???
Leider gibt's zu der ganzen Geschichte noch keine gute Dokumentation, deshalb ist es für mich als Einsteiger wahrscheinlich nicht gerade ideal - aber im Moment habe ich halt Zeit dafür. In einem halben Jahr, wenn die offizielle Release draußen ist und die ersten guten Bücher dazu auf dem Markt, dann würde ich eigentlich lieber schon etwas weiter sein. Oder kennt ihr gute Web-Tutorials/Docs, welche einem bisher von MFC, .NET, COM, etc. völlig unbeleckten Einsteiger den neuen Syntax vermitteln ohne erst noch die alte VC++ 2003er Syntax lernen zu müssen? |