Wenn Du die Variable lokal anlegst, wird der Zeiger auf das Objekt auch nur lokal gespeichert. Wenn Du dann von einer anderen Methode darauf zugreifen willst, kann das nicht gehen. Leg in der Headerdatei im Prototyp der Klasse eine Variable an und speichere den Zeiger auf die neu erzeugte Komponente darin, dann kannst Du auch von anderen Klassen darauf zugreifen. -- Mit 40 Fieber sitzt man nicht mehr vor dem PC. Man liegt im Bett. Mit dem Notebook.
ich kann mir das irgendwie nicht vorstellen wie du das meinst bruder leif... ich bin ein anfänger der sich mit new in ein neues gebiet vorwagt... kannst du mir das vielleicht anhand eines beispiels (zb. quelltext o.ä.)erläutern???
variablen sind nur gültig/existieren innerhalb des blocks in dem du sie definierst... wenn du innerhalb eine mehtode eine variable anlegst existiert sie nicht mehr wenn die mehtode beendet ist..
C++:
void myfunktion(){ int a=5;
} //hier existiert a nicht mehr es wird wieder vom stack genommen wenn die methode beendet ist...
wenn du eine variable als member einer klasse definierst existiert sie (sofern sie nicth statisch ist) so lange wie das object selber das du anlegst...
C++:
class myClass{ int a;
}; //a existiert so lange wie das object das du von der klasse anlegst, d.h. wenn du den wert von a mit einer mehtode veänderst ist a auch noch für andere mehtoden verfügbar...
hoffentlich ist dir das jetzt klarer -- ...fleißig wie zwei WeißbroteDieser Post wurde am 18.05.2004 um 15:07 Uhr von Windalf editiert.
das ist mir schon klar das sie nur da wo ich sie definiere dort auch gültig sind aber was bringt mir das wenn ich nicht weiss wie ich nachdem ich per new ein neues CppWebBrowser erstellt habe das ich per buttonclick oder per editfeld ansprechen kann...