Form + Variablen übergabe
-
Hey @all,
und zwar habe ich eine "main" - Form und eine andere Form (Dialog)
Nun möchte ich von der Dialog-Form aus auf eine Variable der main-Form zugreifen, jedoch funktioniert das nicht..
Hier mal ein Beispielscode:
// form1.h #include "cperson.h" public ref class Form1 : public System::Windows::Forms::Form { public: [b]CPersonData *person;[/b] Form1(void) { InitializeComponent(); // //TODO: Add the constructor code here // [b]person = new CPersonData();[/b] } ......}; // form2.h #include "cperson.h" #include "form1.h" [b]Form1->person->IRGENDEINE_METHODE();[/b] // Zeile 526
Hier scheitert der Code mit folgender Fehlermeldungen:
form2.h(526) : error C2065: 'Form1' : undeclared identifier form2.h(526) : error C2227: left of '->person' must point to class/struct/union/generic type
Kann mir diesbezüglich jemand helfen? Bin voon BCB auf VC umgestiegen, und bei BCB funktionierte es so...
Vielen Dank im voraus
Lg _freeze_
-
was hat das jetzt mit MFC zu tun?
-
Das hat nichts mit der MFC zutun, aber wie macht man es in VC? wie gesagt in BCB ging es echt einfach.
Lg _freeze_
-
Anstelle von "Form1" (was ja der Klassenname ist!) musst Du eine Instanz dieser Form angeben!!!
PS: Du machst C++/CLI !!! => Da gibt es ein passenden Forum...
-
Mein Problem ist, das meine Hauptform bereits beim AAufruf erzeugt wird...
[STAThreadAttribute] int main(array<System::String ^> ^args) { // Enabling Windows XP visual effects before any controls are created Application::EnableVisualStyles(); Application::SetCompatibleTextRenderingDefault(false); // Create the main window and run it Application::Run(gcnew Form1()); return 0; }
Hier bekomme ich unter anderem auch eine Fehlermeldung, ausserdem ist das nicht der Zweck den ich haben wollte:
private: System::Void TestMethod(System::Object^ sender, System::EventArgs^ e) { Form1^ f = gcnew Form1(); }
error C2065: 'f' : undeclared identifier error C2061: syntax error : identifier 'Form1'
Nun möchte ich eben einfach von Form1 und von Form2 auf dieselbe Klasse zugreifen können bzw. auf Elemente der jeweilig andere Form.
Lg _freeze_
P.S.: Danke für den Hint, wodurch weiß ich jedoch das ich C++/CLI schreibe und nicht nur C++?
-
Dieser Thread wurde von Moderator/in estartu aus dem Forum MFC (Visual C++) in das Forum C++/CLI mit .NET verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Warum übergibst Du nicht Deiner Klasse eine Referenz auf Deine Instanz von Form1!?
PS: C++/CLI beschäftigt sich mit dem .NET-Framework und setzt dieses zur AUsführung Deiner App voraus.