Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Borland C++ Builder » wie kann ich objecte zur laufzeit erzeugen??

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 <
010
15.05.2004, 21:13 Uhr
Bruder Leif
dances with systems
(Operator)


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.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
18.05.2004, 14:18 Uhr
~djlq
Gast


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???
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
18.05.2004, 15:07 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


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ßbrote

Dieser Post wurde am 18.05.2004 um 15:07 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
20.05.2004, 04:11 Uhr
~djlq
Gast


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...

so habe ich es erstellt:

C++:
void __fastcall TForm1::Neu1Click(TObject *Sender)
{
       x=x+1;

        //---neues tabsheet---  

        TTabSheet *tabsheet = new TTabSheet(PageControl1);
        tabsheet->Parent = PageControl1;
        tabsheet->PageControl = PageControl1;
        tabsheet->Caption= "NEU";
        tabsheet->Name="TabSheet"+IntToStr(x);  

        //---neues broserfenster im neuen tabsheet---

        TCppWebBrowser *webbrowser = new TCppWebBrowser(this);
        tabsheet->InsertControl(webbrowser);
        webbrowser->Align = alClient;
        webbrowser->Navigate(WideString("http://www.google.de"));
        webbrowser->FullScreen=true;
        tabsheet->Caption=webbrowser->LocationName;        
   }    



und so werden die festen komponenten angesprochen:



C++:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
        WebBrowser1->Navigate(WideString(Edit1->Text));
}



aber ich weiss nicht wie die neuen angesprochen werden...
und das ist mein problem...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
20.05.2004, 12:18 Uhr
~freewilly
Gast


Kleiner Denkanstoß:


C++:
TTabSheet *tabsheet = new TTabSheet(PageControl1);



Ausserhalb von "TForm1::Neu1Click(TObject *Sender)" gibt es kein Objekt tabsheet mehr ...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
26.05.2004, 00:24 Uhr
~djlq
Gast


@ freewilly
ich will ja auch nicht den neuen tabsheet ansprechen sondern den neuen CppWebBrowser....
und das macht mir kopfzerbrechen...

und zwar das ding hier, wie spreche ich das ding an bzw navigiere ich damit?
--->


C++:
TCppWebBrowser *webbrowser = new TCppWebBrowser(this);

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
09.06.2004, 23:21 Uhr
~djlq
Gast


verdammt... irgendwie kriege ich das nicht hin... arghhh....
ich drehe durch!!!!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ Borland C++ Builder ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: