Fragen bzgl GUI Allgemeiner Natur

RuFFnEcK

Erfahrenes Mitglied
Hallo zusammen,
ich hab schon was in Visual Forum gepostet, aber da hat mir noch keiner geantwortet...

1.) Wie lege ich ein globales Objekt an, sodass ich überall auf dieses eine zurück greifen kann?

Würde es so gehen?
Code:
//z.B. im Hauptform ein neues Objekt anlegen
Klasse_xy *objekt_xy = new Konstr_xy();

//In einem anderem Form (welches durch Form1 aufgerufen wird)
//den Header der Klasse_xy  einbinden

extern <Klasse_xy*> objekt_xy;

Dann müsste ich doch mit dem Objekt arbeiten können, oder?

Habt ihr vielleicht, beispiel quellcode mit einer GUI? Am besten eins welches auch weitere Forms aufrufen kann...
Und am besten in Visual, weil ich hab das Gefühl dass es beim Borland ganz anders läuft!
Ist schon bisle was her, aber da hab ichs ohne Hilfe hinbekommen, aber mit dem Visual läufts grad überhaupt nicht...


2.) Forms aufrufen...

Ich hab mein HauptForm Form1, wo sich alles abspielt...
Dann hab ich ein weiteres Form erstellt und will dieses Aufrufen, wie mach ich das am besten?
Ich hab wie gesagt es schon geschaft, aber jedesmal wenn geklickt hol ich mir ja dynamisch speicher...
aber ich wüsste nicht wo ich den freigeben soll, da ich im Form2 kein Zugriff hab auf das Objekt...
Soll ich das mitübergeben?
Wenn ja, wie?

Code:
//Form1 hat dieses menuItem um das Form2 zu öffnen
private: System::Void menuItem2_Click(System::Object *  sender, System::EventArgs *  e)
		 {
			Klasse_ab *neuesForm = new Konstr_ab();
			neuesForm->Show();
		 }

//Form2 hat diesen Button um sich selbst zu schliessen, 
//nur kann ich hier den Speicher nicht freigeben weil ich kein Zugriff auf das Objekt hab...
private: System::Void Cancel_Click(System::Object *  sender, System::EventArgs *  e)
		 {
			 this->Close();
                         delete neuesForm;//geht nicht!
		 }




Würd mich über jede Hilfe freuen ;)

Grüsse
RuFF

PS: Sorry fürs "doppeltposting", nur bekomm ich hier grad echt nen Anfall...
 
Hi,

genau habe ich nicht verstanden was du meinst aber ich nehme an du möchtest wissen wie du auf dynamisch erzeugte Objekte zugreifst. In C++ Sollte dir da eine Objekttabelle weiterhelfen. Schau dir dazu einmal an wie man mit Vektoren umgeht. Da kann man Objekte drin abspeichern und dann über die Feld-ID (Feld-Nummer) darauf zugreifen.
Der Vorteil eines solchen Vektorfeldes ist, das es dynamisch ist, bzw theoretisch unendlich viele Felder geben kann. Wenn dir das nicht zusagt kannst du auch ein Array des Types String bilden und den jeweiligen Namen des aktuellen Objektes in diesem Array abspeichern. Du müsstest dann eine Art Namensgenerator basteln beispiel:

Objekt1,Objekt2, Objekt3 usw.

Ich bin leider gerade net an meinem Rechner deshalb hab ich hier keine Codebeispiele
 
Jo das lag wohl daran dass ich selbst auch nocht nicht so genau wusste was ich meine^^
Letzendlich kommt man nicht drum herum sich mit Visual .NET auseinander zu setzen...
Hatte dann gesehen dass ich Windows Forms Projekt gestartet hatte und kein MFC Projekt...
Da haben mir immer diese Beispiele nicht viel gebracht ;)
Naja hab mir mal Visual Studio .NET in 21 Tagen gezogen, da steht alles drin ;)

Grüsse
RuFF
 
Zurück