Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.03;
Скачать: CL | DM;

Вниз

Какое значение окажется в итоге в Caption?   Найти похожие ветки 

 
Игорь Шевченко ©   (2006-11-14 17:14) [40]

oldman ©   (14.11.06 17:12) [38]

Потому что два бита отводятся под служебные цели, например, под тип объекта. Хэндлы GDI - они же 16-битные (для совместимости с программами для Win16)


 
Плохиш ©   (2006-11-14 17:15) [41]


> RWolf ©   (14.11.06 17:13) [39]


> открытый в дельфи проект приличных размеров

Проблема, скорее всего, в месте откуда руки растут.


 
RWolf ©   (2006-11-14 17:17) [42]


> Плохиш

Открытый, а не запущенный. Так что руки тут ни при чем.


 
Rouse_ ©   (2006-11-14 17:17) [43]


> А что, информация о том, что в любой системе нельзя создать
> более 16384 объектов GDI для кого-то является страшным секретом
> ?

MSDN думает иначе :)
http://msdn2.microsoft.com/en-us/library/ms724291.aspx
Говорит памятью ограничено :)


 
oldman ©   (2006-11-14 17:18) [44]

ворд (1 шт), эксплорер (1 шт), открытый в дельфи проект приличных размеров и аську.

Меняем все это на "мой проект и 3 эксплорера"...

Далее: [41]


 
Prohodil Mimo ©   (2006-11-14 17:21) [45]

RWolf ©   (06.11.14 17:09) [35]

твоё право.

возможности не столько в операционке, сколько в голове разработчика.

я начинал с программ под ДОСом, а потому мне и в Вин 3.11 ресурсов и возможностей было больше чем предостаточно, не говоря уже об Вин 95 и выше. Я до сих пор стараюсь использовать как можно меньше ресурсов. Потому и программы мои идут на ооочень слабых машинах, и форм я могу открыть побольше чем те, "кому ресурсов не хватает".


 
RWolf ©   (2006-11-14 17:26) [46]


> oldman

не уяснил этой глубокой мысли.


> Prohodil Mimo ©   (14.11.06 17:21) [45]
> RWolf ©   (06.11.14 17:09) [35]твоё право.возможности не
> столько в операционке, сколько в голове разработчика.

Ну, ограничивал ты себя в средствах. И я ограничивал, куда деваться. Но лучше уж сделать так, чтобы этого дурного ограничения не было, и работать под NT.


 
Игорь Шевченко ©   (2006-11-14 17:27) [47]

Rouse_ ©   (14.11.06 17:17) [43]


> MSDN думает иначе :)


> Говорит памятью ограничено :)


MSDN, по твоей ссылке, говорит вполне недвусмысленно:

"There is a theoretical limit of 65,536 GDI handles per session. However, the maximum number of GDI handles that can be opened per session is usually lower, since it is affected by available memory.

Windows 2000:  There is a limit of 16,384 GDI handles per session."

А Фэнь Юань в своем бестселлере еще и пишет, откуда берется это число.


 
oldman ©   (2006-11-14 17:29) [48]


> RWolf ©   (14.11.06 17:26) [46]
>
> > oldman
>
> не уяснил этой глубокой мысли.


У меня сейчас открыто 3 окна IE, Word, Excel, проект компилиться (ессно, что он тоже открыт) и диск режется.
Заметь, я в форуме. Не вишу. Да еще и отвечаю довольно шустро.

На машине МЕ.


 
TUser ©   (2006-11-14 17:31) [49]

Чегонибудьлик даже невооруженным глазом видно. Я так уже давно не пишу, хотя совсем недвно написал на автомате даже такое
L := TStrings.Create
L.Add()
как понял в чем глюк - покраснел на всю комнату :)


 
clickmaker ©   (2006-11-14 17:32) [50]

соббсно ватокатание ни о чем. Есть ведь разные категории прог. Одно дела ERP-система какая-нить, с веб-сервисами там, сиквелами и соапами. Ну так тут никто не спорит, что 95-я ее не потянет, НТ-4 как минимум нужна.
А если пасьянс зависнет с мессагой "не могу нарисовать карту, поскольку закончился GDI", из-за того, что некий Вася каждую черву и бубну не руками рисует, а PaintBox"ом - это уже не дело, ведь так?


 
RWolf ©   (2006-11-14 17:32) [51]


> oldman ©   (14.11.06 17:29) [48]

я и не утверждаю, что этот набор должен обязательно упасть.
Просто следи за ресурсами.


 
TIF ©   (2006-11-14 17:34) [52]


> procedure TForm1.Button1Click(Sender: TObject);
> var
>  I: Integer;
> begin
>  for I := 1 to 20000 do
>  begin
>    with TBitmap.Create do
>    begin
>      Width := 1;
>      Height := 1;
>    end;
>    Caption := IntToStr(I);
>  end;
> end;


Программа для взлома Windows Vista!?!?!?!?!?!?!?!?


 
TIF ©   (2006-11-14 17:35) [53]

или тестирование процессора? Так процессор-то сгорит :-(


 
Prohodil Mimo ©   (2006-11-14 17:37) [54]

RWolf ©   (06.11.14 17:26) [46]
Но лучше уж сделать так, чтобы этого дурного ограничения не было, и работать под NT.


вот из-за таких как ты, программы всё более и более требовательны к ресурсам и железу, хотя могли бы быть намного легковеснее и менее требовательны.
но спор бесполезен... а потому я его прекращаю... подрастёшь, надеюсь, сам поймёшь.


 
Loginov Dmitry ©   (2006-11-14 17:40) [55]

Anatoly Podgoretsky ©   (14.11.06 17:03) [27]
Может это того, алгоритмы пересмотреть?


Это лечится за 5 минуть. Тут главное - узнать о подобных граблях и не наступать на них больше.

Игорь Шевченко ©   (14.11.06 17:05) [31]
А что, информация о том, что в любой системе нельзя создать более 16384 объектов GDI для кого-то является страшным секретом ?


Всего в ХР мне удалось создать 61900 объектов типа TBitmap. Для этого пришлось запустить 7 экземпляров приложения, в каждом из которых создается 9900 битмапов (больше создать не получается). При работе последнего приложения на 2500-м битмапе вылетела ошибка "Нехватка ресурсов". Сразу же за этим вылетел Magic Forum и зависла Delphi :)


 
TIF ©   (2006-11-14 17:40) [56]


> надеюсь, сам поймёшь.


не поймёт. он уже вместе с процессором, программоё и компом взорвался: пробки в городе повышибало %- |


 
Percent   (2006-11-14 17:41) [57]

Каждая линия - это объект, наследуемый от TPaintBox и в каждом объекте создается 2 битмапа.

"Чиста правильные пацаны" наследуют от TGraphicControl. :-)
Группу (массив) используемых растров следует сделать общим для всех вертикальных разделителей.

Вывод - TBitmap - весьма ценный объект, и разбрасываться подобными объектами налево и направо нерационально, и даже опасно.

См. TBitmap.Dormant(); TBitmap.FreeImage();


 
syte_ser78 ©   (2006-11-14 17:43) [58]

Loginov Dmitry ©   (14.11.06 16:21)
20000, но врядли ты его увидишь в кэпшине формы.


 
oldman ©   (2006-11-14 17:47) [59]


> Percent   (14.11.06 17:41) [57]
> Каждая линия - это объект, наследуемый от TPaintBox и в
> каждом объекте создается 2 битмапа.
>
> "Чиста правильные пацаны" наследуют от TGraphicControl.
> :-)


"Чиста правильные пацаны" хранят координаты в массиве и просто рисуют линии на канве по этим координатам :)))


 
RWolf ©   (2006-11-14 17:48) [60]


> TIF ©   (14.11.06 17:40) [56]

да нет, я тут ненадолго пацтол упал от таких поворотов сюжета :))
спорить не буду, конечно - зачем оно мне.
пишу, кстати, из-под XP, под которой сейчас крутится пара десятков открытых гуевых приложений, в т.ч. браузер с полсотней закладок.


 
Prohodil Mimo ©   (2006-11-14 17:55) [61]

RWolf ©   (06.11.14 17:48) [60]

в магазин с огромным мешком для картошки ходишь? сумка то не серьёзно, туда мало положить можно.
и архиваторами не пользуемся, т.к. у реальных пацанов и так места выше крыши и т.д. и т.п.

TIF ©   (06.11.14 17:40) [56]
не поймёт.


начинаю верить :о)

TIF ©   (06.11.14 17:40) [56]
пробки в городе повышибало


и не только в городе и не только пробки :о)


 
Percent   (2006-11-14 17:56) [62]

"Чиста правильные пацаны" хранят координаты в массиве и просто рисуют линии на канве по этим координатам

Автор не удосужился изложить ТЗ, поэтому нельзя быть уверенным в том, что это может быть не объект. Лично я отдаю предпочтение объектам. Особенно если у заказчика "семь пятниц на неделе", и он решит изменить ТЗ, сказав, что, к примеру, линии надо перетаскивать мышкой; тогда модификация программы, в которой линии реализованы в виде объектов, будет проще - достаточно будет написать обработчики соответствующих сообщений; с массивом координат это будет намного сложнее. Но это так, мой субъективный взгляд...


 
TIF ©   (2006-11-14 17:58) [63]


> и не только в городе и не только пробки :о)


у меня уже свет мигает :-)


> пишу, кстати, из-под XP, под которой сейчас крутится пара
> десятков открытых гуевых приложений, в т.ч. браузер с полсотней
> закладок.


Ты шо, Билл ГейТс?  Приложения-то наверное грузятся, но со скоростью эстонских черепашек. Или нет?


 
Loginov Dmitry ©   (2006-11-14 17:58) [64]

oldman ©   (14.11.06 17:47) [59]
"Чиста правильные пацаны" хранят координаты в массиве и просто рисуют линии на канве по этим координатам


Я использую TPainBox чиста по причине лени. Ну лень мне отлавливать события OnMouseXXX для каких-то безтелесных линий. А TPainBox все отлавливает сам.
Вот как отвалится прога при визуализации много-часовой записи сигналов ЭКГ, так и начнем рисовать как "чиста привильные пацаны" :)


 
Percent   (2006-11-14 18:06) [65]

Я использую TPainBox чиста по причине лени.

По причине лени, поробил бы уже свой класс "разделителей" от TObject, в полях которого хранил бы его позицию и Parent"а, и еще пару методов - для отрисовки на Parent"е и для общения с мышью.
И Parent"а ему - сам контрол, на котором ЭКГ отображается, чтобы Parent умел работать с твоими "разделителями" - отсылал бы им события отрисовки и мыши.
Делов на два часа.
И никаких проблем в будущем.


 
Percent   (2006-11-14 18:07) [66]

поробил = породил


 
oldman ©   (2006-11-14 18:07) [67]


> Loginov Dmitry ©   (14.11.06 17:58) [64]
> события OnMouseXXX для каких-то безтелесных линий.


улыбнуло...


 
Ketmar ©   (2006-11-14 19:14) [68]

>[9] RWolf(c) 14-Nov-2006, 16:41
>вопрос - что ограничивает это число?
>вроде, работаем все давно уже не под Win"9x.
Фэнь Янь знает.


 
Anatoly Podgoretsky ©   (2006-11-14 19:19) [69]

> RWolf  (14.11.2006 17:08:33)  [33]

> Анатолий, у этой нормальной системы в наличии родовая травма - по 64 кБ под ресурсы GDI (и system и kernel тоже).

Достаточно, столько сложного софта работает, может не в этом дело?


 
Anatoly Podgoretsky ©   (2006-11-14 19:20) [70]

> clickmaker  (14.11.2006 17:11:37)  [37]

А у меня сервера достаточно сложные месяцами крутились без перезагрузки. Так что!


 
oldman ©   (2006-11-14 19:20) [71]


> Anatoly Podgoretsky ©   (14.11.06 19:19) [69]


<offtop>
А как же прозвучавший гудок??? :)


 
Anatoly Podgoretsky ©   (2006-11-14 19:24) [72]

> Prohodil Mimo  (14.11.2006 17:37:54)  [54]

Это мелочь, а вот отношение пользователей падает, как можно с такими дело иметь, мы лучше Васю Пупкина позовем.


 
Anatoly Podgoretsky ©   (2006-11-14 19:34) [73]

> oldman  (14.11.2006 19:20:11)  [71]

Так я уже не у станка.



Страницы: 1 2 вся ветка

Текущий архив: 2006.12.03;
Скачать: CL | DM;

Наверх




Память: 0.62 MB
Время: 0.04 c
2-1163193479
Riply
2006-11-11 00:17
2006.12.03
Перечисление глобальных переменных проекта.


2-1163848810
Handle
2006-11-18 14:20
2006.12.03
OpenProcess


2-1163785251
ProgRAMmer Dimonych
2006-11-17 20:40
2006.12.03
Опять торможу. Какая функция в Turbo Pascal отвечает...


2-1163438646
_Ruslan_
2006-11-13 20:24
2006.12.03
Вызов нескольких копий формы из DLL и передача информации из DLL


2-1163666710
Megabyte
2006-11-16 11:45
2006.12.03
Снова про Трей, какие модули подключать, в факе не указано?