![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Delphi или C
Blacki © (2002-05-20 17:30:00)вот такой вопрос: у меня приложение скинуется, плюс много функций выполняется. Если смотреть за размером программы, то он всё вермя увеличивается(щас я уже вроде все битмапы удаляю на каждом шагу, так что она медленне увеличивается). Так вот через некоторое время работы программы, она выдаёт ошибку и выходит. Так вот у меня в связи с этим возникло несколько вопросов:
1. Как позволить моему приложению брать больше памяти(т.е. например delphi.exe занимает 27 мега).
2. Может из-за корявости vcl комопнентов я так мало видел серьёзных программ написанных на Delphi. И в связи с этим более серьёзный вопрос(для меня). Может перейти программировать на VC, потому что уж кажется там нет таких проблем. Или всё таки просто я где то не удалил переменные, а делфи нормально следит за памятью?
Кулюкин Олег (2002-05-21 08:19:00) [1]2 Лёша © (20.05.02 21:13)
> ИМХО, ActiveX, как идеология, в Делфи глючно работает
Сильно сказано :))
Хорошо что "ИМХО" в начале
2 Blacki © (20.05.02 17:30)
> Так вот через некоторое время работы программы, она выдаёт ошибку и выходит.
А какую ошибку?
Скорее всего, не убиваются динамически создаваемые объекты...
Впрочем, об этом уже сказали
ETeRNaL (2002-05-21 05:09:00) [2]TWebBrowser в делфи ничего не жрет . Во всяком случае под XP .
А что касается VC, я на нем пишу проги . Но часто бывает так, что вылетает ошибка :) а уж я думаю все наслышаны про локализацию ошибок в VC . А на делфях все ОК: вылетела ошибка - посмотрел где - исправил .
Лёша (2002-05-21 05:02:00) [3]2 Anatoly Podgoretsky © (20.05.02 21:39)
Вероятно, тема ветки настроила вас на шутовство. Согласен, под такой шапкой никогда не было ничего умного (я имею ввиду заголовком). Тем не менее, если вы имеете суждения о моей компетентности, и думаете, что они интересны, пожалуйста, высказывайтесь. Я всегда приветствую критику. Только впредь прошу вас воздерживаться от подобного тона.
При всём при том, я ни имел сказать ничего, кроме того, что сказал.
И использование ActiveX компонентов, даже таких заюзаных как TWebBrowser, может хранить сюрпризы. Это как вариант использования чего-то стандартного.
И почему с Indy не может происходить что-либо подобное. А уж тем более с левыми компонентами в т.ч. и с ActiveX.
2 cyborg © (20.05.02 21:50)
Вы наверное, как и предыдущий посланец подумали о том, что я из неумения освободить память в TWebBrowser сделал умозаключение о невозможности это сделать.
Я, может, непопулярно нарисовал проблему. Уверяю вас, дело не в кешах и не в клирах. Это баги признанные MS:
Q254637
Q259365
Q273942
Не знаю, как в IE6, но до IE5.5 они присутствуют.
cyborg (2002-05-20 21:50:00) [4]Blacki ©
27 метров исполняемый файл :-), да это у тебя рекорд просто, не помню ни одной программы, что бы столько весила (кроме архивных ЕХЕ файлов). Скорее всего рисунков у тебя там налеплено, да ещё и в BMP. Викидывай всё из компонент, и подгружай из файлов во время выполнения программы.
Лёша ©
>TWebBrowser в Делфи коряво работает. Как раз по теме - жрёт и
>жрёт. Попробуйте файл с картинками загрузить метров этак на 4 в
>совокупности с HTML.
Возможно просто дисковый кэш заполняется этими картинками, вот и жрёт, это уже к Дельфи не относится.
Попробуй везде clear-ы делать.
Anatoly Podgoretsky (2002-05-20 21:39:00) [5]У танцоров есть некоторые вредные предметы
Лёша (2002-05-20 21:13:00) [6]TWebBrowser в Делфи коряво работает. Как раз по теме - жрёт и жрёт. Попробуйте файл с картинками загрузить метров этак на 4 в совокупности с HTML.
Так они все в память загрузятся и очистятся только после завершения приложения. Даже динамическое убивание компонента не помогает.
А в VB проблем нет. Работает прекрасно без утечки. Так почему считается, что это веббраузера глюк а не Делфи?
ИМХО, ActiveX, как идеология, в Делфи глючно работает. Пичём не только юзанье, но и написание. Не из-за корявости левых ActiveX, а из-за возможностей Делфи. Конечно раз на раз не приходится.
Я это к тому, что не всему, что Делфи предлагает доверять можно.
Дремучий (2002-05-20 21:08:00) [7]2 Blacki ©
у меня в детстве , когда токо на делфийские ноги вставал, подобная трабла была...
создавал динамически модальные окна, а удалять(динамически) забывал...
причем с немодальными окнами работал нормально. Отак-то.
подобные проблемы лечатся методом Free либо проверкой на существование (например через Assigned) объекта перед его созданием и отменой повторного создания.
Blacki (2002-05-20 20:00:00) [8]ок народ убедили, остаюсь на Delphi :)
>чистые API юзать.
а ты их не юзаешь? а что не ужели можно без них обойтись? ну если только калькулятор писать :)
cypher (2002-05-20 19:46:00) [9]Начсет "так мало серьезных программ на Дельфи видел" - бред полный, программы не критичные к скорости и размеру в 90% случаях пишутся на Дельфи
Johnny Smith (2002-05-20 18:45:00) [10]2Anatoly Podgoretsky © (20.05.02 18:37)
Главное еще как насчет результата, будет ли по данной проблеме
Вполне может быть. Лет эдак через...
Anatoly Podgoretsky (2002-05-20 18:37:00) [11]Главное еще как насчет результата, будет ли по данной проблеме
Johnny Smith (2002-05-20 18:29:00) [12]2Blacki ©
Может перейти программировать на VC
Давай! Потом расскажешь, как оно... В MFCях корячиться и чистые API юзать.
Anatoly Podgoretsky (2002-05-20 18:23:00) [13]На мой взгляд ты не там ищешь врага.
Толик (2002-05-20 18:06:00) [14]То, что VCL корректно следит за выделением / удалением памяти - это факт. Корявость VCL - компонентов? Ну, не без багов, так кто же их не допускает? Исходя из моего опыта проблема скорее всего в беспорядочной обработке событий и отсутствии стиля написания кода.
NailS (2002-05-20 17:39:00) [15]Как показывает мой скромный опыт, вероятность падения программы из-за "корявости" vcl-комопнентов весьма мала.
>Как позволить моему приложению брать больше памяти
Приложение и так берет столько памяти, сколько ему нужно.
Скорее всего ты просто таки где то не удалил переменные, а делфи нормально следит за памятью, а от этого даже VC не спасет, ИМХО.
Виктор Щербаков (2002-05-20 17:38:00) [16]
> например delphi.exe занимает 27 мега
Господи, что там у тебя?
Неужто всё - код!
Игорь Шевченко (2002-05-20 17:37:00) [17]Второе вернее - без разницы, на чем программировать, если программировать плохо.
В VCL корявости нет - есть кривые руки у использующих эти компоненты.
Серьезный программ на Delphi хватает :-)