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

Вниз

Delphi или C   Найти похожие ветки 

 
Blacki ©   (2002-05-20 17:30) [0]

вот такой вопрос: у меня приложение скинуется, плюс много функций выполняется. Если смотреть за размером программы, то он всё вермя увеличивается(щас я уже вроде все битмапы удаляю на каждом шагу, так что она медленне увеличивается). Так вот через некоторое время работы программы, она выдаёт ошибку и выходит. Так вот у меня в связи с этим возникло несколько вопросов:
1. Как позволить моему приложению брать больше памяти(т.е. например delphi.exe занимает 27 мега).
2. Может из-за корявости vcl комопнентов я так мало видел серьёзных программ написанных на Delphi. И в связи с этим более серьёзный вопрос(для меня). Может перейти программировать на VC, потому что уж кажется там нет таких проблем. Или всё таки просто я где то не удалил переменные, а делфи нормально следит за памятью?


 
Игорь Шевченко ©   (2002-05-20 17:37) [1]

Второе вернее - без разницы, на чем программировать, если программировать плохо.
В VCL корявости нет - есть кривые руки у использующих эти компоненты.
Серьезный программ на Delphi хватает :-)


 
Виктор Щербаков ©   (2002-05-20 17:38) [2]


> например delphi.exe занимает 27 мега

Господи, что там у тебя?
Неужто всё - код!


 
NailS ©   (2002-05-20 17:39) [3]

Как показывает мой скромный опыт, вероятность падения программы из-за "корявости" vcl-комопнентов весьма мала.

>Как позволить моему приложению брать больше памяти

Приложение и так берет столько памяти, сколько ему нужно.

Скорее всего ты просто таки где то не удалил переменные, а делфи нормально следит за памятью, а от этого даже VC не спасет, ИМХО.


 
Толик ©   (2002-05-20 18:06) [4]

То, что VCL корректно следит за выделением / удалением памяти - это факт. Корявость VCL - компонентов? Ну, не без багов, так кто же их не допускает? Исходя из моего опыта проблема скорее всего в беспорядочной обработке событий и отсутствии стиля написания кода.


 
Anatoly Podgoretsky ©   (2002-05-20 18:23) [5]

На мой взгляд ты не там ищешь врага.


 
Johnny Smith ©   (2002-05-20 18:29) [6]

2Blacki ©
Может перейти программировать на VC
Давай! Потом расскажешь, как оно... В MFCях корячиться и чистые API юзать.


 
Anatoly Podgoretsky ©   (2002-05-20 18:37) [7]

Главное еще как насчет результата, будет ли по данной проблеме


 
Johnny Smith ©   (2002-05-20 18:45) [8]

2Anatoly Podgoretsky © (20.05.02 18:37)
Главное еще как насчет результата, будет ли по данной проблеме
Вполне может быть. Лет эдак через...


 
cypher ©   (2002-05-20 19:46) [9]

Начсет "так мало серьезных программ на Дельфи видел" - бред полный, программы не критичные к скорости и размеру в 90% случаях пишутся на Дельфи


 
Blacki ©   (2002-05-20 20:00) [10]

ок народ убедили, остаюсь на Delphi :)
>чистые API юзать.
а ты их не юзаешь? а что не ужели можно без них обойтись? ну если только калькулятор писать :)


 
Дремучий ©   (2002-05-20 21:08) [11]

2 Blacki ©
у меня в детстве , когда токо на делфийские ноги вставал, подобная трабла была...

создавал динамически модальные окна, а удалять(динамически) забывал...
причем с немодальными окнами работал нормально. Отак-то.

подобные проблемы лечатся методом Free либо проверкой на существование (например через Assigned) объекта перед его созданием и отменой повторного создания.



 
Лёша ©   (2002-05-20 21:13) [12]

TWebBrowser в Делфи коряво работает. Как раз по теме - жрёт и жрёт. Попробуйте файл с картинками загрузить метров этак на 4 в совокупности с HTML.
Так они все в память загрузятся и очистятся только после завершения приложения. Даже динамическое убивание компонента не помогает.
А в VB проблем нет. Работает прекрасно без утечки. Так почему считается, что это веббраузера глюк а не Делфи?

ИМХО, ActiveX, как идеология, в Делфи глючно работает. Пичём не только юзанье, но и написание. Не из-за корявости левых ActiveX, а из-за возможностей Делфи. Конечно раз на раз не приходится.

Я это к тому, что не всему, что Делфи предлагает доверять можно.


 
Anatoly Podgoretsky ©   (2002-05-20 21:39) [13]

У танцоров есть некоторые вредные предметы


 
cyborg ©   (2002-05-20 21:50) [14]

Blacki ©
27 метров исполняемый файл :-), да это у тебя рекорд просто, не помню ни одной программы, что бы столько весила (кроме архивных ЕХЕ файлов). Скорее всего рисунков у тебя там налеплено, да ещё и в BMP. Викидывай всё из компонент, и подгружай из файлов во время выполнения программы.
Лёша ©
>TWebBrowser в Делфи коряво работает. Как раз по теме - жрёт и
>жрёт. Попробуйте файл с картинками загрузить метров этак на 4 в
>совокупности с HTML.
Возможно просто дисковый кэш заполняется этими картинками, вот и жрёт, это уже к Дельфи не относится.

Попробуй везде clear-ы делать.


 
Лёша ©   (2002-05-21 05:02) [15]

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 они присутствуют.


 
ETeRNaL ©   (2002-05-21 05:09) [16]

TWebBrowser в делфи ничего не жрет . Во всяком случае под XP .

А что касается VC, я на нем пишу проги . Но часто бывает так, что вылетает ошибка :) а уж я думаю все наслышаны про локализацию ошибок в VC . А на делфях все ОК: вылетела ошибка - посмотрел где - исправил .


 
Кулюкин Олег ©   (2002-05-21 08:19) [17]

2 Лёша © (20.05.02 21:13)
> ИМХО, ActiveX, как идеология, в Делфи глючно работает
Сильно сказано :))
Хорошо что "ИМХО" в начале

2 Blacki © (20.05.02 17:30)
> Так вот через некоторое время работы программы, она выдаёт ошибку и выходит.
А какую ошибку?
Скорее всего, не убиваются динамически создаваемые объекты...
Впрочем, об этом уже сказали




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

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

Наверх




Память: 0.51 MB
Время: 0.01 c
1-97308
Пользователь
2002-05-18 08:58
2002.05.30
RadioGroup & январь


8-97354
Kirill
2001-12-28 14:34
2002.05.30
DirectX и движение


14-97401
DT
2002-04-22 11:52
2002.05.30
MS visual C++ vs Borland C++ builder


1-97285
Eagle
2002-05-18 20:07
2002.05.30
Примоугольник с скругленными углами


14-97399
VictorT
2002-04-19 17:55
2002.05.30
Когда должно происходить событие FormActivate?