Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Нехватка памяти для работы по 98 / 11 сообщений из 11, страница 1 из 1
25.11.2003, 18:56
    #32334651
Нехватка памяти для работы по 98
Всем привет!

Размер exeшника 1.6Mb. Win98.
Запускаю пять копий и на шестой он либо вообще не грузится, либо при попытке открыть внутреннее окно выдает win32 API function failed.
То же происходит если назапускать кучу других программ а потом данный exeшник. Также под 98 невозможно запустить внутренних окошек объемом больше чем на 12Мб.

Под 2000 все работает.

Что это? Паталогия Win98?
Ошибок в программе я не нашел.

Алексей.
...
Рейтинг: 0 / 0
26.11.2003, 08:16
    #32334837
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нехватка памяти для работы по 98
У win9x есть ограничение на кол-во обработчиков оконных элементов управления. ПРичем это не обязательно формы, а все наследники от TWinControl. Под NT нет таких ограничений. А что так много оконных элементов у тебя?
...
Рейтинг: 0 / 0
26.11.2003, 12:47
    #32335185
Нехватка памяти для работы по 98
Да, ты прав. После создания формы с 5000 (и на 10000 тоже) кнопками (правда, сама эта форма работала) никакое другое приложение в 98 не запускается, а выдает ошибку по памяти.

А вообще, я бы не сказал, что у меня очень много окон. Просто, если у человека много чего открыто и он запускает эту прогу, начинаются глюки.

Если ты в курсе этой проблемы, может подскажешь сходу где в документации об этом написано и говориться ли там, как отслеживать данную ситуацию.
...
Рейтинг: 0 / 0
26.11.2003, 13:10
    #32335237
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нехватка памяти для работы по 98
автор писал:После создания формы с 5000 (и на 10000 тоже) кнопками

Если кнопки - это TButton (TBitButton) - это оконный элемент управления. Соответственно при их создании для каждой используется свой Нandle. А кнопок у тебя немерено. Кстати, а куда так много?! Едиственный выход, если тебе действительно нужны кнопки - то использовать TSpeedButton. Она не является оконным элементом и соответственно не использует Handle. Но здесь есть и минус. Так как такая кнопка не является оконным элементом управления на нее не может быть передан фокус.

Точную цифру обработчиков я не помню, но кажеться 16 384.
...
Рейтинг: 0 / 0
26.11.2003, 13:19
    #32335265
srf2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нехватка памяти для работы по 98
:[ ]
открой секрет, а зачем надо 5000 кнопок??
...
Рейтинг: 0 / 0
26.11.2003, 13:29
    #32335300
Нехватка памяти для работы по 98
Да это я для теста 5000 сделал. :-)))

Странно, что в самой программе их не так уж и много.

Вывод - надо переходить на другие элементы управления, не имеющие родителя TWinControl.
...
Рейтинг: 0 / 0
26.11.2003, 13:34
    #32335310
Luchkin Dmitry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нехватка памяти для работы по 98
Вывод: послать '98
...
Рейтинг: 0 / 0
26.11.2003, 13:45
    #32335344
Dnico
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нехватка памяти для работы по 98
Губочкин Алексей
А формы как создаются? Auto-create или по мере необходимости?

Best regards,
Dnico.
...
Рейтинг: 0 / 0
26.11.2003, 13:46
    #32335346
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нехватка памяти для работы по 98
Общество, таки хочет знать. Куда стока кнопоцек понадобилось?
...
Рейтинг: 0 / 0
26.11.2003, 13:47
    #32335349
JibSkeart
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нехватка памяти для работы по 98
Да это я для теста 5000 сделал. :-))) :)
_____________
...
Рейтинг: 0 / 0
26.11.2003, 13:59
    #32335383
Нехватка памяти для работы по 98
Все. Нашел:
Windows 95: The system can support a maximum of 16,364 window handles

Удивительно то, что на формах, автоматически создаваемых сразу после загрузки программы (их всего-то три, а все остальные создаются только в момент вызова), я насчитал на более 50-60 (да пусть даже 100) объектов, запускающих CreateWindowEx. Я не понимаю одного - где обещанные 16,364?
Потому, как более 4 копий одновременно не запускается.

Пожалуй надо вообще забить на 98.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Нехватка памяти для работы по 98 / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]