Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.05.30;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.005 c
1-97234
Alex_L
2002-05-20 18:00
2002.05.30
Имеется DLL.


3-97203
Reticent
2002-05-07 18:22
2002.05.30
Банк данных


1-97215
normal
2002-05-18 07:54
2002.05.30
Динамическое создание TThread


3-97121
Great DAN
2002-05-04 11:44
2002.05.30
Как работать с Quick Report


1-97260
Ross
2002-05-18 11:23
2002.05.30
Как можно отдельный item PopupMenu сделать жирным?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский