Eigene Objekte

17/06/2008 - 17:00 von Uwe Homm | Report spam
Hallo an Alle,

bin absoluter newbie in der Erstellung von Windows Forms Projekten.

Angenommen, ich möchte eine eigene Klasse mit ein paar Eigenschaften und
Methoden instanziieren und dann aus verschiedenen Ereignisprozeduren auf
diese(s) Objekt(e) zugreifen können.

Ich habe die Objekte im Form Load Ereignis erzeugt, aber dann sind die
Objekte ja nach dem Ereignisende dem GC zum Opfer gefallen.

Wie macht man denn sinnvoll so etwas unter C++ .NET?

Unter VB.NET kann man ja globale Variablen -die man vermeiden sollte!-
verwenden. Hier finde ich einfach keinen Hinweis oder eine Lösung per
google.

Any hints?

\\|//
(@ @)
-oOO(_)--OOo
Mit freundlichen Grüssen

Uwe Homm


http://maps.google.com/maps?f=q&...3%A4rtchen

Wissenschaft ist wie Sex – manchmal kommt etwas Nützliches dabei heraus,
aber das ist nicht der Grund, warum wir es betreiben.
Richard P. Feynman (11.05.1918 - 15.02.1988)

Der Vorteil der Klugheit besteht darin, daß man sich dumm stellen kann.
Das Gegenteil ist schon schwieriger.
Kurt Tucholsky (09.01.1890 - 21.12.1935)
 

Lesen sie die antworten

#1 SvenC
17/06/2008 - 17:37 | Warnen spam
Hallo Uwe,

Hallo an Alle,

bin absoluter newbie in der Erstellung von Windows Forms Projekten.

Angenommen, ich möchte eine eigene Klasse mit ein paar Eigenschaften
und Methoden instanziieren und dann aus verschiedenen
Ereignisprozeduren auf diese(s) Objekt(e) zugreifen können.

Ich habe die Objekte im Form Load Ereignis erzeugt, aber dann sind die
Objekte ja nach dem Ereignisende dem GC zum Opfer gefallen.

Wie macht man denn sinnvoll so etwas unter C++ .NET?

Unter VB.NET kann man ja globale Variablen -die man vermeiden sollte!-
verwenden. Hier finde ich einfach keinen Hinweis oder eine Lösung per
google.



Ich glaube, Du verwechselst globale Variablen mit Member-Variablen, oder?
Füge Deiner Form-Klasse entsprechende Member hinzu, die Du im Load
Event belegst und in den anderen Methoden benutzt:

ref class DeineForm : public Form
{
private:
DeinDatenTyp^ member_;

public:
// ist nur exemplarisch, keine Ahnung wie die Methode wirklich aussieht
void OnLoad()
{
// die member_-Instanz lebt mindestens so lang wie Deine Form-Instanz
member_ = gcnew DeinDatenTyp;
}
};

SvenC

Ähnliche fragen