Benutzer mit den meisten Antworten
Klassen einbinden mit Visual C++ 2008

Frage
-
<!-- @page { size: 21cm 29.7cm; margin: 2cm } P { margin-bottom: 0.21cm } -->
Hallo,
ich habe ein kleines Problem mit Visual C++ 2008.
Habe die ganze Zeit mit dem Studio 6 gearbeitet und bin jetzt auf
die Express Version 2008 gewechselt.
Nur habe ich da so meine Probleme mit den einbinden der Klassen.
Ich habe eine kleine Win Anwendung erstellt der das Codegerüst wie unten erzeugte:
class_test.cpp
-----------------------------------------------------------------------------------------------------
// class_test.cpp: Hauptprojektdatei.
#include "stdafx.h"
#include "Form1.h"
using namespace class_test;
[STAThreadAttribute]
int main( array <System::String ^> ^args)
{
// Aktivieren visueller Effekte von Windows XP, bevor Steuerelemente erstellt werden
Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault( false );
// Hauptfenster erstellen und ausführen
Application::Run( gcnew Form1());
return 0;
}
-------------------------------------------------------------------------------------------------------
und Form1.h
------------------------------------------------------------------------------------------------
#pragma once
#include "up1.h" // Hier habe ich meine Testklasse up1 eingebunden
namespace class_test {
using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;
class test : public up1{}; // Dieses hab ich aus einem Buch
test neuer_name; // Jetzt wie früher die Klasse zuweisen
/// <summary>
/// Zusammenfassung für Form1
///
/// </summary>
public ref class Form1 : public System::Windows::Forms::Form
{
public :
Form1( void )
{
InitializeComponent();
//
//TODO: Konstruktorcode hier hinzufügen.
//
}
protected :
/// <summary>
/// Verwendete Ressourcen bereinigen.
/// </summary>
~Form1()
{
if (components)
{
delete components;
}
}
private :
/// <summary>
/// Erforderliche Designervariable.
/// </summary>
System::ComponentModel::Container ^components;
#pragma region Windows Form Designer generated code
/// <summary>
/// Erforderliche Methode für die Designerunterstützung.
/// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
/// </summary>
void InitializeComponent( void )
{
this ->SuspendLayout();
//
// Form1
//
this ->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
this ->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
this ->ClientSize = System::Drawing::Size(292, 266);
this ->Name = L "Form1" ;
this ->Text = L "Form1" ;
this ->Load += gcnew System::EventHandler( this , &Form1::Form1_Load);
this ->ResumeLayout( false );
}
#pragma endregion
private : System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e)
{
neuer_name.a=0; // Zugriff auf Variable meiner Klasse
}
};
}
------------------------------------------------------------------------------------------------------
Und so sieht meine Klasse aus die ich eingebunden habe:
#pragma once
class up1
{
public :
int a;
int b;
//System::String^ inhalt; // Wenn ich dieses Einbinde bekomme ich Error !!!!
up1( void )
{
}
~up1( void )
{
}
};
Das ganze geht jetzt auch nur wenn ich versuche ein String^ zu definieren meine
Klasse up1 dann bekomme ich immer ein Error. Mit Ints, floats Funktioniert es ohne Probleme.
Ich versteh das ganze einfach nicht. Wenn mir jemand helfen könnte ????
Mit freundlichen Grüßen
Sepentis
Antworten
-
Benenne "class up1 " nach "ref class up1" um...
Jochen Kalmbach (MVP VC++)- Als Antwort vorgeschlagen Jochen Kalmbach Donnerstag, 25. Juni 2009 15:32
- Nicht als Antwort vorgeschlagen Martin Richter Dienstag, 30. Juni 2009 11:53
- Als Antwort vorgeschlagen Martin Richter Dienstag, 30. Juni 2009 11:53
- Als Antwort markiert Martin Richter Dienstag, 30. Juni 2009 11:57
Alle Antworten
-
Ich verstehe Dein Frage nicht ganz.
Was bekommst Du, an welcher Stelle, wann für eine Vermeldung?
Könntest Du für den Code, einen Codeblock anlegen. Dann wäre das gaze sicherlich einfacher u lesen.
Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de -
Benenne "class up1 " nach "ref class up1" um...
Jochen Kalmbach (MVP VC++)- Als Antwort vorgeschlagen Jochen Kalmbach Donnerstag, 25. Juni 2009 15:32
- Nicht als Antwort vorgeschlagen Martin Richter Dienstag, 30. Juni 2009 11:53
- Als Antwort vorgeschlagen Martin Richter Dienstag, 30. Juni 2009 11:53
- Als Antwort markiert Martin Richter Dienstag, 30. Juni 2009 11:57