in klassen auf sachen des Formulars zugreifen?



  • Tja, tut mir leid, aber da weiss ich auch keinen Rat.
    Gibt es einen bestimmten Grund, warum du die Sache so aufgezogen hast? 😕



  • Maffe001 schrieb:

    Tja, tut mir leid, aber da weiss ich auch keinen Rat.
    Gibt es einen bestimmten Grund, warum du die Sache so aufgezogen hast? 😕

    hmm naja, das programm ist für die schule, da arbeiten wir halt mit dem c++ builder von borland, und ich würde gerne wenigstens die grundelemente in der ide machen



  • Da gibts doch auch was aus der FAQ? (forms)
    FAQ? Gute Hilfen!
    Gute Tipps!

    Wem das nicht passt: Klassenzeiger deiner Steuerklasse übergeben...oder alternativ komplett auf Document/View setzen und das in diesem Artikel angedachte Prinzip auf MVC ergänzen...

    -junix



  • ich werde mir die faq mal anschauen.
    das formular übergebe ich schon dem konstruktor meiner steuerung, denn da müssen Sachen von einer TImageList eingezeichnet werden.
    wenn ich aber
    formular->StatusBar1->SimpleText = "om"; mache geht das nicht, weil er statusbar1 nicht findet.



  • die faq hilft mir leider nicht sehr weiter 😞

    weitere vorschläge werden gerne gesucht



  • Wie übergibst du denn deine Form an den Konstruktor? TFrom* form; wäre falsch. Sagen wir, deine Form heißt TMyForm. Dann übergibst du TMyForm* form. Dann findet er auch die Statusbar.



  • WebFritzi schrieb:

    Wie übergibst du denn deine Form an den Konstruktor? TFrom* form; wäre falsch. Sagen wir, deine Form heißt TMyForm. Dann übergibst du TMyForm* form. Dann findet er auch die Statusbar.

    bis jetzt so:

    //Am anfang der unit
    TForm1 *Form1;
    
    //erstellen der steuerung mit dem Formular
    Steuerung = new TSteuerung(Form1);
    
    //Konstruktor
         TSteuerung(TForm *form);
    
    //in der deklaration der klasse gibt es private:
         TForm *formular;
    //Auf die in der ganzen klasse zugegriffen wird
    

    die fehlermeldung:

    'StatusBar1' ist kein Element von 'TForm'
    


  • .kb schrieb:

    //in der deklaration der klasse gibt es private:
         TForm *formular;
    

    Das sollte wohl besser auch vom Typ TForm1 sein:

    TForm1 *formular;
    

    Sonst kannst natürlich nur auf die Eigenschaften/Methoden von
    TForm zugreifen. Selbst hinzugefügte Komponente/Methoden "siehst"
    Du sonst nicht.

    Gruß,

    Alexander



  • Alexander Kempf schrieb:

    .kb schrieb:

    //in der deklaration der klasse gibt es private:
         TForm *formular;
    

    Das sollte wohl besser auch vom Typ TForm1 sein:

    TForm1 *formular;
    

    Sonst kannst natürlich nur auf die Eigenschaften/Methoden von
    TForm zugreifen. Selbst hinzugefügte Komponente/Methoden "siehst"
    Du sonst nicht.

    Gruß,

    Alexander

    OH!
    jetzt fällt es mir wie schuppen von den Augen!
    ich werde das gleich mal probieren



  • wow, es geht. danke!!


Anmelden zum Antworten