Solved

TComponentList Problem

Posted on 2003-12-06
5
390 Views
Last Modified: 2010-04-03
TComponentList Problem

How to put in TComponentList more components than TComponentList max value ?

I succeeded to put in TComponentList about 148291876 components.

After that application showed me an error - List capacity out of bounds (148291876).

Thanks.
0
Comment
Question by:sasabistrovic
  • 2
  • 2
5 Comments
 
LVL 27

Expert Comment

by:kretzschmar
ID: 9888924
who needs so much components?
0
 
LVL 22

Expert Comment

by:Ferruccio Accalai
ID: 9890151
Not possible....
TcomponentList inherits from TList and the List property is an array [0..MaxListSIze-1] of pointer where MaxListSize = MaxInt div 16 and where MaxInt = High(Integer) -> (2^32)-1
So to have a larger TComponentList capacity you must create a TList descendent overriding its Capacity property using a larger constant (for example High(Int64)) and adding all needed properties stored in the hierarchy form Tlist to TComponentList (hard job guy?)...

Just for curiosity: can you answer meikl question? :)

F68 ;-)

0
 

Author Comment

by:sasabistrovic
ID: 9891543
I want to put in TComponentList 500 (or more) milion forms and on form 810 tabsheets (or more) + 300 components (or more) per tabsheet.

Some problems for organization.

Thanks.
0
 

Author Comment

by:sasabistrovic
ID: 9891551
As limit I need about 1.e+100 maximal components to put in TComponentList.

Thanks.
0
 
LVL 27

Accepted Solution

by:
kretzschmar earned 500 total points
ID: 9891610
the sense is really unclear,
which user handles tons of components

but you could organize it like

TList
|
- TComponentList
|
- TComponentList
|
- TComponentList
|
- TComponentList
|
- TComponentList
...

so you have
((2^32)-1)^(2^32)-1
possible entries

meikl ;-)




0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
Introduction The parallel port is a very commonly known port, it was widely used to connect a printer to the PC, if you look at the back of your computer, for those who don't have newer computers, there will be a port with 25 pins and a small print…
A short film showing how OnPage and Connectwise integration works.
A company’s greatest vulnerability is their email. CEO fraud, ransomware and spear phishing attacks are the no1 threat to a company’s security. Cybercrime is responsible for the largest loss of money to companies today with losses projected to r…

919 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now