Announcement

Collapse
No announcement yet.

Zur Laufzeit 5000 Komponenten erzeugen??

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Zur Laufzeit 5000 Komponenten erzeugen??

    Gibt es eigentlich eine Obergrenze (Speicherbedarf, eventloop zu voll, ..) für das Erstellen von z.B. 5000 TEdit-Feldern in einem Formular?
    Ich will so etwas ähnliches wie ein Tdbctrlgrid bauen und stelle mir nun diese Frage.

  • #2
    Erschiessen den Kerl! ;-)<vr>
    Von Delphi her sollte es keine Beschraenkungen geben. Windows sollte auch keine Beschraenkungen haben.<br>
    Mehr als ca. 20 Controls sollte man aber keinem Benutzer zumuten. Bei 5000 Controls koennen sowieso nur sehr wenige sichtbar sein. 5000 Editboxen zu erzeugen, zeugt also nur von Bequemlichkeit

    Comment


    • #3
      OK - also etwas konkreter:
      Ich habe ein Grid, in dem 1000 Datensätze angezeigt werden.
      für 5 felder sollen Comboboxen hinterlegt werden.
      Erzeuge ich nun die Comboboxen beim füllen des Grids, komme ich auf 5000 Controls.
      Alternativ müsste ich ja on Scroll regelmäßig Comboboxen erzeugen und wieder freigeben.
      Entsprechendes gilt für Bitmaps,Buttons usw.
      gruß Stefa

      Comment


      • #4
        &gt; Alternativ müsste ich ja on Scroll regelmäßig Comboboxen erzeugen und wieder freigeben. Entsprechendes gilt für Bitmaps,Buttons usw.
        <br><br>Musst du nicht. Du erzeugst alle Controls nur einmal und änderst beim Scrollen nur deren Werte. Wenn du das Ganze noch in Routinen oder Objekte verpackst, die sich jeweils um eine ganze Zeile auf einmal kümmern, dürfte das gar nicht so schwer sein.
        <br>Oder schau dir mal TDBCtrlGrid an.
        <br>Ciao, Uli

        Comment


        • #5
          Naja, mal abgesehen, dass ein Anwender bei 5000, selbst bei 1000 Controls keine Überblick mehr haben kann, wird Windows 9x wohl schon eher dicht machen. Da sind die Ressourcen doch recht begrenzt, im Gegensatz zu NT und Co. Aber das kannst Du leicht testen, wenn Du auf einem Windows 98 Rechner einfach mal ein Programm nur Edits in einer Schleife erzeugen lässt und nebenbei die Ressourcenanzeige anzeigst... Die findest Du im Startmenü bei Zubehör, Systemprogramm und muss evtl. erst nachinstalliert werden.<p>
          Schöne Grüße, Mari
          Schöne Grüße, Mario

          Comment


          • #6
            Der unterschiede zwischen NT/2000/XP zum Win9x ist marginal. Statt 64Kb für die Fensterhandle Tablelle haben diese Systeme 2*64Kb. D.h. ich nehme an das bei 100-300 Controls schon die Grenze erreicht ist. Getestet habe ich das aber nie.<br>

            Nun zur eigentlichen Frage: Dein Konzept ist falsch und unrealistisch. Es wäre besser diese Controls nur für einen Datensatz zu haben und dann zu verschieben wenn ein neuer DS fokusiert wird.<br>
            Also genau so wie es Robert vorschlägt, am besten ein TDBCtrlGrid auch wenn es Macken hat.<br>

            Gruß Hage

            Comment


            • #7
              Danke an alle, das ist ja ein einstimmiges Urteil. <BR>
              Ich hatte schon leichte Bauchschmerzen so viele Controls zu erzeugen - war mir aber einfach nicht sicher. Also doch mehr Arbeit.<BR>Den Sourcecode von TDbCtrlgrid verstehe ich leider nicht - ist mir zu hoch.<br>
              Gruß, Stefa

              Comment


              • #8
                Hallo,
                ich hatte so etwas schon mal für ca. 50 Edit gemacht. Der Aufbau geht quälend langsam vor sich. Ich denke, direkt auf den Canvas geschrieben ist erheblich schneller. Und nur dort, wo der Mausklick erfolgt, ein TEdit erzeugen.

                mfg Klaus-Pete

                Comment

                Working...
                X