Конференция "Основная" » Максимальный размер tStringList [WinXP]
 
  • Евгений Р. (22.11.07 00:07) [0]
    В Д5, кажется было ограничение 16000, кажется читал,что в Д2005 это ограничение снято. Это точно???
  • Johnmen © (22.11.07 00:50) [1]
    Размер в чём?
  • Германн © (22.11.07 01:18) [2]

    > Johnmen ©   (22.11.07 00:50) [1]
    >
    > Размер в чём?
    >

    Наверно в количестве экземпляров этого класса в одном приложении.
  • Евгений Р. (22.11.07 01:25) [3]

    > Германн ©   (22.11.07 01:18) [2]
    >
    > Наверно в количестве экземпляров этого класса в одном приложении.
    >


    Не угадал, в количестве строк.
    А разве 16000 - был когдато пределом к-ва экземпляров?
  • Германн © (22.11.07 01:48) [4]

    > Евгений Р.   (22.11.07 01:25) [3]
    >
    >
    > > Германн ©   (22.11.07 01:18) [2]
    > >
    > > Наверно в количестве экземпляров этого класса в одном
    > приложении.
    > >
    >
    >
    > Не угадал, в количестве строк.
    > А разве 16000 - был когдато пределом к-ва экземпляров?
    >

    1. Когда-то пишется через дефис.
    2. [2] было шуткой адресованной Johnmen ©   (22.11.07 00:50) [1].
    3. А по сути сабжа, имхо никогда не было никаких ограничений в TStringList, кроме ограничений на размер памяти, которая может быть выделена приложению.

    P.S. В линейке Win9x было ограничение на размер содержимого Memo. 64К. Других ограничений на подобные классы я не знаю.
  • Евгений Р. (22.11.07 01:59) [5]
    Спасибо за урок граматики!
    Мне был Важен ответ, но пока Вы шутили я методом Тыка натыкал.
    А ограничение все-таки (блин, дефис лишний или нет???) было. Может еще в Паскале, когда Integer было 32х-разрядное. Но почемуто не 64К, а 64К/4. Хотя какая разница, что тогда было....
  • boa_kaa © (22.11.07 02:05) [6]

    > Может еще в Паскале, когда Integer было 32х-разрядное

    а щас оно какое?
  • boa_kaa © (22.11.07 02:06) [7]
    кстати, в паскале не было tstringlist.
    но вот ограничение на string было
  • Германн © (22.11.07 02:13) [8]

    > Евгений Р.   (22.11.07 01:59) [5]
    >
    > Спасибо за урок граматики!
    > Мне был Важен ответ, но пока Вы шутили я методом Тыка натыкал.
    >
    > А ограничение все-таки (блин, дефис лишний или нет???) было.

    Дефис не лишний. Но грамматика пишется с двумя м.


    >  Может еще в Паскале, когда Integer было 32х-разрядное.

    В Паскале, точнее в ТурбоПаскале, Integer был знаковым 16-битным целым. Но в Паскале, aka ТурбоПаскале, не было TStringList.


    > Но почемуто не 64К, а 64К/4. Хотя какая разница, что тогда
    > было....
    >

    А зачем тогда спрашивал, если по-фигу все эти разницы?
  • Германн © (22.11.07 02:24) [9]
    Кстати о птичках.
    Если речь зашла о "временах, когда деревья были большими", то тогда я могу принять сабж. В Д1 TStringList действительно мог содержать не более 16К строк. Но только в Д1!
  • Евгений Р. (22.11.07 10:49) [10]

    > Германн ©   (22.11.07 02:13) [8]
    > Дефис не лишний. Но грамматика пишется с двумя м.
    > >  Может еще в Паскале, когда Integer было 32х-разрядное.
    > А зачем тогда спрашивал, если по-фигу все эти разницы?

    Сейчас не пофик, потому и спрашивал. Пока Вы шутили, сам наТыкался.
    Конечно Паскаль- Integer 2х-байтовое. И именно это сейчас пофик.
  • Kolan © (22.11.07 15:49) [11]
    > Пока Вы шутили, сам наТыкался.

    Пока шутили можно было бы написать 2(две) строки кода и проверить так ли это.
  • Сергей М. © (22.11.07 15:53) [12]

    > Паскаль- Integer 2х-байтовое


    Какое отношение это имеет к


    > размер tStringList


    ?

    Оной в твоем случае всегда будет равен 4.
  • масленица (22.11.07 16:06) [13]

    > Оной в твоем случае всегда будет равен 4.


    С чего бы?
  • Сергей М. © (22.11.07 16:09) [14]

    > С чего бы?


    С того что WinXP.

    А ты собссно хто ?)
  • Kolan © (22.11.07 16:10) [15]
    > А ты собссно хто ?)

    Придет масленница, заберет масло… Ты пока на коне 1 2 3 4, он бего раз два, раз два …
  • масленица (22.11.07 16:35) [16]
    ;) Размер указателя? Или tStringList, вроде-ж речь об экземпляре класса. Или 4 - это максимальное число строк в WinXP? Раз два.. раз два...;)
    "С чего-бы" - в том же стиле, что и "Оной в твоем случае всегда будет равен 4."
  • Johnmen © (22.11.07 16:37) [17]

    > масленица   (22.11.07 16:35) [16]

    Читать внимательно!

    >> Паскаль- Integer 2х-байтовое
    > Оной в твоем случае всегда будет равен 4.



    ку?
  • масленица (22.11.07 16:47) [18]
    Не совсем понял я тогда смысл слова "оной" - это синоним двойного размера 2х-байтовых целых? Мдя. Ладно, пусть по вашему, мастеры
  • Сергей М. © (22.11.07 16:52) [19]

    > масленица   (22.11.07 16:47) [18]


    Хню спросил - хню получи)
  • Сергей М. © (22.11.07 16:58) [20]

    > масленица   (22.11.07 16:47) [18]


    Ты , во-первых, на "тыхто" не ответил)

    А во-вторых, "Максимальный размер tStringList"=SizeOf(tStringList)

    Ку?)
  • DiamondShark © (22.11.07 17:53) [21]

    > Может еще в Паскале, когда Integer было 32х-разрядное. Но
    > почемуто не 64К, а 64К/4. Хотя какая разница, что тогда
    > было....

    Эх, молодёжь...

    В Паскале (до дельфи-2) Integer никогда не было 32х-разрядное, а когда оно такое стало, ограничения на tStringList уже не стало.
    64К -- это было ограничение на непрерывный блок памяти в DOS и Win16 (потому что один сегмент), а 64К/4 -- потому что tStringList содержит массив указателей, а размер указателя -- 4 байта.
  • Евгений Р. (22.11.07 18:08) [22]

    > Сергей М. ©   (22.11.07 15:53) [12]
    > > Паскаль- Integer 2х-байтовое
    > Какое отношение это имеет к
    > > размер tStringList


    tStringList.count:integer.

    Поэтому в вышеописанном случае максимальное число элементов - 32к.
  • Anatoly Podgoretsky © (22.11.07 18:57) [23]
    > Евгений Р.  (22.11.2007 18:08:22)  [22]

    Кроме count есть еще и понятие экстент, в 16 разрядном режиме он равен 64 кб, значит в экстент не может поместиться более 16K длинных указателей.
  • Евгений Р. (22.11.07 20:25) [24]

    > Anatoly Podgoretsky ©   (22.11.07 18:57) [23]

    Я думал, что память под указатели выделяется динамически, по мере заполнения коллекции, а не сразу по экстенту (тогда это называли сегментом). Неразумно тогда было так расбрасываться памятью.
  • Anatoly Podgoretsky © (22.11.07 20:34) [25]
    > Евгений Р.  (22.11.2007 20:25:24)  [24]

    Список содержит список указателей, из любых сегментов, но сам список не может пересекать границу сегмента.
  • Евгений Р. (22.11.07 20:48) [26]
    Вспоминаем Паскаль, DOS.
    1.Объем памяти 640К (до 1 МБ). Называлось "куча"
    2.Сегмент данных 64К. Отъедается из кучи.
    3.Стек до 64К. Отъедается из кучи.
    4.+код+пямять для ДОС...
    5.Остается немного.
    6.Создаем коллекцию. Из сегмента данных (стека если из процедуры) отъелось несколько байт.
    7.Коллекция пустая. Сколько отъелось из скудной кучи? Нисколько или 64К?
  • Сергей М. © (23.11.07 10:52) [27]

    > Евгений Р.   (22.11.07 18:08) [22]


    "максимальное число элементов" никак не кореллирует с "Максимальный размер tStringList"
  • Anatoly Podgoretsky © (23.11.07 11:16) [28]
    > Сергей М.  (23.11.2007 10:52:27)  [27]

    И не может коррелироваться, у tStringList нет размера, не визуальный, а есть только емкость, поскольку контейнер.
  • KilkennyCat © (24.11.07 20:17) [29]

    > Anatoly Podgoretsky ©   (23.11.07 11:16) [28]

    могу доказать что у TStringlist есть размер. Вот только определение размера сложновато: зависит от типа процессора, озу и проч.
  • Anatoly Podgoretsky © (24.11.07 20:21) [30]
    > KilkennyCat  (24.11.2007 20:17:29)  [29]

    Хочешь сказать 3 на 2 метра, или длиной 12 метров?
  • Германн © (24.11.07 20:30) [31]

    > Anatoly Podgoretsky ©   (24.11.07 20:21) [30]

    7 на 8
  • KilkennyCat © (24.11.07 20:33) [32]

    > Anatoly Podgoretsky
    > Германн

    Где вы такие модули памяти видели? Помнится, я выковыривал ящичек озу из "Мир-2", так и он был от силы полметра на полметра и высотой сантиметров тридцать.... а учитывая, что стринглист сожрет не все, размер его будет еще меньше. Но будет!
  • Германн © (24.11.07 20:53) [33]

    > Где вы такие модули памяти видели?

    Я не видел. Но я о них читал. У Азимова.
    :-)
 
Конференция "Основная" » Максимальный размер tStringList [WinXP]
Есть новые Нет новых   [134479   +12][b:0][p:0.001]