Отправляет email-рассылки с помощью сервиса Sendsay

Программирование. Форум !!!

За 2005-01-18

Re[3]: Ошибка при удалении обьекта. Delphi

EtM> Не факт -> когда я писл лабораторные ... (требовались большие объемы
EtM> памяти), а при тестировании всегда есть ошибки (а как же без них)
EtM> - то ОС приходилось перегружать после 20-21 компиляции!!!
EtM> А то системных ресурсов не оставалось :(
EtM>
Так ведь из компилятора почти наверняка не выходил время от времени.
С чего же это операционка станет сама освобождать ресурсы,
которые захватил компилятор и забыл освободить...

AT> Да в винде с этим вообще глухо - не далее двух дней назад обрабатывал
AT> исходники из статей (~2600 файлов в каждом по несколько кусков кода)
AT> ...
AT> в общем где-то после 1500 файлов винда (win2k sp4 + 160 mb оперы)
AT> зависала наглухо успев только показать табличку - "недостаточно
AT> системных ресурсов для выполнения операции"
AT> Причем в программе (моей) я просто запускал (createprocess) bat файл
AT> в котром уже были прописаны все настройки для pasind (console version).
AT>
AT> В общем на винду надеяться нельзя - не умеет она утечки отлавливать
AT>
Что-то я не помню ни одной операционки которая могла бы сама решить,
что процесс больше не будет пользоваться тем или иным ресурсом,
если он сам не закрыл все ссылки на него. Освобождаются они
лишь при завершении процесса. Так что в этом отношении
на Windows незачем грешить.
А насчет конкретного случая - есть любимая ошибка использующих
CreateProcess - даже если закрывают дескриптор процесса в структуре
PROCESS_INFORMATION, забывают закрыть дескриптор потока.
В сочетании с возможными утечками ресурсов в запускаемом
процессе это при больших нагрузках убьет кого угодно.
Возможно, у Вас произошло именно это. Кстати, запускать bat
через CreateProcess, мягко говоря, не слишком эффективно.
Почему бы не собрать командную строку в памяти
и создавать процесс с указанием exe?

> EtM> Давайте все свои проблемы и ошибки приписывать Microsoft!!!
> AT>
> AT> Ну не все, а только которые решить не могем :)
> AT>
Рано или поздно при некотором упорстве можно решить почти любую
проблему. Так что не будем зря обижать программистов
Microsoft, тоже ведь люди :)
Лет семь имею дело с их детищем и десятки, а то и сотни глюков, с
которыми я встречался, были вызваны ошибками использующих
Windows программистов, иногда ошибками сред разработки
и очень редко проблемами самой операционки.
Это вызывает некоторое уважение к тем, кто ее пишет :)

AT> Вот например прога (тоже с opengl, кстати) на win2k работает без
AT> ошибок, на XP, в том же месте где в win2k все идеально,
AT> выдает division by zero - ну шо це таке, а?
AT>
Не очень подробно, видимо эта проблема Вас не
очень беспокоит или Вы ее решили.

Возможно, это не имеет отношения к упомянутому случаю, но на всякий
случай скажу, что иногда возникают трудноуловимые ошибки с
исключениями плавающей арифметики при взаимодействии
программ на C и Delphi. Это бывает вызвано тем, что по умолчанию
в C все исключения плавающей арифметики запрещены, а в Delphi
исключения по переполнению, делению на ноль и недопустимой
операции разрешены. Поэтому при переходе из кода на C, не
сбросившего флаги исключений, в код на Delphi во время
проверки на наличие исключений плавающей
арифметики возникают "ошибки ниоткуда".

Номер выпуска : 3956
Возраст листа : 484 (дней)
Количество подписчиков : 519
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/299336
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

   2005-01-18 10:28:31 (#299336)

Re[4]: Delphi OpenGL

Здоровеньки булы, Eugene the Monster!

14 января 2005 г., пятница, 09:58:55 (GMT+05:00), пришел ко мне
почтальон Почкин и всучил письмо с пометкой "Delphi OpenGL",
в котором сообщалось следующее:

j>> Не помогает причем прога реагирует только на два последних параметра,
j>> если они не равны - вообще не рисует ! (( Может проблема в ХР ?

EtM> Давайте все свои проблемы и ошибки приписывать Microsoft!!!

Ну не все, а только которые решить не могем :)

Вот например прога (тоже с opengl, кстати) на win2k работает без
ошибок, на XP, в том же месте где в win2k все идеально, выдает
division by zero - ну шо це таке, а?

   Александр Томилов 2005-01-18 00:43:37 (#299167)

Re[3]: Ошибка при удалении обьекта. Delphi

Здоровеньки булы, Eugene the Monster!

14 января 2005 г., пятница, 09:48:58 (GMT+05:00), пришел ко мне
почтальон Почкин и всучил письмо с пометкой "Ошибка при удалении обьекта. Delphi",
в котором сообщалось следующее:

EtM> Не факт -> когда я писл лабораторные по Компьютерной графике
EtM> (требовались большие объемы памяти), а при тестировании всегда есть
EtM> ошибки (а как же без них) - то ОС приходилось перегружать после 20-21
EtM> компиляции!!! А то системных ресурсов не оставалось :(

Да в винде с этим вообще глухо - не далее двух дней назад обрабатывал
исходники из статей (~2600 файлов в каждом по несколько кусков кода) с
помощью консольной версии pasind-а (обрабатывает форматирование
исходников - отступы всякие, регистр символов и т.п.) в общем где-то
после 1500 файлов винда (win2k sp4 + 160 mb оперы) зависала наглухо
успев только показать табличку - "недостаточно системных ресурсов для
выполнения операции"
Причем в программе (моей) я просто запускал (createprocess) bat файл в
котром уже были прописаны все настройки для pasind (console version).

В общем на винду надеяться нельзя - не умеет она утечки отлавливать

   Александр Томилов 2005-01-18 00:43:29 (#299165)

Re[3]: Delphi OpenGL

Здоровеньки булы, shapoklak!

13 января 2005 г., четверг, 17:33:47 (GMT+05:00), пришел ко мне
почтальон Почкин и всучил письмо с пометкой "Delphi OpenGL",
в котором сообщалось следующее:

s> А еще вопрос с OpenGL. Вот на любом языке хоть на Delphi хоть на C++
s> подскажите пожалуйста вывести изображение на _определенную часть_
s> формы, а не на всю. Если можно, то как?

DC := GetDC (Handle);
SetDCPixelFormat(DC);
hrc := wglCreateContext(DC);
wglMakeCurrent(DC, hrc);

Вот в этом куске кода вместо Handle подставь Panel1.Handle и Panel
хоть 20x2000 сделай - пусчай на нем рисует.

   Александр Томилов 2005-01-18 00:43:14 (#299164)

Re: Delphi OpenGL

Здоровеньки булы, janalex!

12 января 2005 г., среда, 22:39:13 (GMT+05:00), пришел ко мне
почтальон Почкин и всучил письмо с пометкой "Delphi OpenGL",
в котором сообщалось следующее:

j> Помогите пожалуйста с таким вопросом, рисую сферу, если окно в которое
j> осуществляется вывод квадратное, т.е. Width = Height то все нормально,
j> если же это условие нарушить то получается эллипсоид сплюснутый
j> пропорционально размерам формы.
j> Win XP Pro

Супер книженция в эл. виде по opengl - все примеры супер, теории не
много, но все понятно и все разжевано:
Учебник по OpenGL для Delphi
http://ogoncharenko.narod.ru/DelphiMain/Delphi_OpenGL/Introduction/1.htm
если ссылка битая - www.ya.ru

   Александр Томилов 2005-01-18 00:42:59 (#299163)