Objekte zählen



  • Hi,
    kann ich irgendwie zählen lassen, wieviele es schon von einem Objekt gibt?

    Mfg
    Bennet



  • TObject::ClassName()
    TComponent::ComponentCount
    TComponent::Components



  • Irgendwie funktioniert folgendes nicht so ganz bei mir, ich habe mal eine MDI Applikation erstellt, jetzt will ich halt als Title Untitled-Form2Count haben nur das geht irgendwie nicht, bei der MDI Applikation ist das aber so gemacht.

    IntToStr(Form2Count)

    Er meint immer
    [C++ Error] Unit1.cpp(30): E2451 Undefined symbol 'Form2Count'

    Hoffe ihr könnt mir helfen 😕

    Mfg
    Bennet

    P.S.: Bin NooB 😉



  • Weis wirklich niemand etwas 😕



  • Schau mal in der Hilfe unter Forms und FormCount nach, die kannst Du
    über Screen->FormCount und Screen->Forms ansprechen. Das könnte Dir
    helfen.

    Gruß,

    Alexander



  • Ich will ja aber nur eine bestimmte sorte von Forms ansprechen nämlich die Form2...

    Trotzdem Dangö...

    mfg
    Bennet



  • Wie es aussieht geht es :))))))))



  • Hmmm habe eben folgendes gefunden:
    Screen->Forms->MDIChildCount

    Nur nun gibt er mir egal wo ich das benutze folgendes zurück:
    [C++ Error] Unit1.cpp(152): E2193 Too few parameters in call to '_fastcall TScreen::GetForm(int)'

    Need Help!

    Mfg
    Bennet



  • Also irgendwie alles was unter:
    Screen->Forms ist, funktioniert nicht kommt immer der selbe fehler also "Too few parameters in call to '_fastcall TScreen::GetForm(int)'", die Sachen bei screen-> funktionieren 😕

    Mfg
    Bennet



  • Es ist wichtig >_<
    ich brauche echt eure hilfe!



  • Bennet schrieb:

    Hmmm habe eben folgendes gefunden:
    Screen->Forms->MDIChildCount

    Hast Du Dir mal die Hilfe zu Forms angesehen?
    Dort steht auch, wie man diese Eigenschaft verwendet.
    Forms ist ein Array!
    MDIChildCount ist natürlich nur für MDI-Formulare (nicht für
    Childs) gültig.

    Gruß,

    Alexander



  • Kein Wunder, dass das nicht funktioniert, denn wie der Name "Forms" schon sagt, handelt es sich um mehrere. Also spricht man alle am Besten so an (Bsp):

    TStringList* SL=new TStringList;
    for (int i=0;i<Screen->FormCount;i++)
       SL->Add("Form "+IntToStr(i+1)+" hat "+IntToStr(Screen->Forms[i]->MDIChildCount)+" MDIChilds.");
    

    Also wenn du 5 MDI-Forms hast, in denen ein paar MDIChilds offen sint, so würde das Ganze in der StringList "SL" in etwa so aussehen:

    Form 1 hat 2 MDIChilds.
    Form 2 hat 0 MDIChilds.
    Form 3 hat 4 MDIChilds.
    Form 4 hat 1 MDIChilds.
    Form 5 hat 6 MDIChilds.
    

    Genauso funktioniert das Ganze mit Components in einer Form, diese sprichst du ebenfalls über einen Index an.


Log in to reply