Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (версии 2009, 2010 Weaver, 2011 Fulcrum)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111

Открыть новую тему     Написать ответ в эту тему

data man



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Обсуждаем новые возможности и баги
Просьба писать только про Delphi 2009 и выше - по остальным версиям есть соответствующая тема.
Вопросы вареза здесь не обсуждаются !!!
См. также:
Известные важные баги Delphi 2010:

Описание________________________________________________ Исправлено Решение/Альтернатива_____________________
  1. Внимание !  Деинсталляция D2010 нарушает работу D2007 и D2009 !  
При деинсталляции удаляются CC3280MT.DLL и CC3290MT.DLL из Windows\System32,   необходимые для работы D2007 и D2009 соответственно.
Сделайте резервные копии
  2. Code Formatter не работает, если не инсталлирован пакет моделирования.   В нем также присутствует множество багов. Используйте с осторожностью.   1.   JEDI CodeFormat 2.44 SVN Snapshot (~750Kb)   Требуются JCL и JVCL  
2.GExperts with Formatter
  3. Не работает F1 в Object Inspector Update 2   IDEFixPack 2.9 от Andreas Hausladen
(dev. snapshots)
  4. Если IDE начинает падать с сообщением "Out of resources", возможно, что поврежден .res файл проекта. Удалить его, запустить IDE, открыть проект - новый .res файл будет создан автоматически.
  5. В редакторе не работает Class Completion, если в декларируемом классе есть поля с шаблонами. Перед декларированием поля добавить public или private и т.д.
  6. TTrayIcon.ShowBalloonHint() не работает на ОС ниже Vista [QC 77561] Update 2 * Установить Update 2   * ИЛИ почитать о причинах и решении проблемы на форуме embarcadero и в QC   * ИЛИ воспользоваться альтернативой, например Cooltray 4.4.0
  ...      


Всего записей: 1696 | Зарегистр. 13-10-2005 | Отправлено: 14:28 26-08-2009 | Исправлено: data man, 18:27 06-08-2010
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kvazars
Проверьте расход оперативной памяти. Включите в диспетчере задач отображение всех столбцов, имеющих отношение к памяти, и наверняка увидите приличную утечку.

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 23:27 31-07-2010
kvazars



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Frodo_Torbins,
С тормозами понятно теперь, покаопаюсь. а как быть с отрисовкой предыдущих форм во всей IDE?то есть они убираются только если верешься на ту же самую форму. Они остаются даже если закрыть проект

Всего записей: 110 | Зарегистр. 20-05-2007 | Отправлено: 05:30 01-08-2010
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kvazars
Скорее всего это неудачная попытка оптимизации отрисовки. Тут вряд ли что то можно сделать.

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 10:59 01-08-2010
kvazars



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Очень жаль, а то этот баг (или фича) нервирует когда в проекте куча форм.....

Всего записей: 110 | Зарегистр. 20-05-2007 | Отправлено: 19:13 01-08-2010
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kvazars
Так у вас именно формы из проекта не перерисовываются? У меня только после выезжающих панелей иногда артефакты остаются, а про формы впервые слышу.

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 19:27 01-08-2010
kvazars



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как бы описать...всё отрисовывается супер пупер. Но в момент когда переключаюсь на другую форму - остаются следы предыдущей формы - то есть синий полосы краев предыдущей формы. Можно проект закрыть, а полосы останутся. Решается перезапусуком среды или же, открыть ту форму которая дала артефакты. Глюк IDR - однозначный, потому как и дома и на работе одно и тоже. да и у друзей так

Всего записей: 110 | Зарегистр. 20-05-2007 | Отправлено: 20:31 01-08-2010
andrewtishkin



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Как бы описать...

Зачем? Проще показать на скриншотах "до" и "после"
Лучше один раз увидеть...

Всего записей: 781 | Зарегистр. 28-08-2008 | Отправлено: 20:39 01-08-2010
kvazars



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
andrewtishkin, завтра будет

Всего записей: 110 | Зарегистр. 20-05-2007 | Отправлено: 21:53 01-08-2010
mcka

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Обновил пост

Всего записей: 65 | Зарегистр. 04-09-2007 | Отправлено: 11:06 04-08-2010
0D0A

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mcka, какой смысл об этом писать тут, а не в QC?

Всего записей: 158 | Зарегистр. 21-09-2009 | Отправлено: 12:12 04-08-2010
mcka

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
0D0A Для русскоязычного населения. И ветка называется "Обсуждаем новые возможности и баги"

Всего записей: 65 | Зарегистр. 04-09-2007 | Отправлено: 16:59 04-08-2010
0D0A

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mcka, есть смысл обсуждать способы исправления багов, а не перечислять. Они что, от этого исчезнут?

Всего записей: 158 | Зарегистр. 21-09-2009 | Отправлено: 08:22 05-08-2010
mcka

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
0D0A Если Вы внимательно читали, то заметили бы, что местами написано: как можно обойти/исправить.
 
Лично я, например не знал, как исправить размытое приложение.  
Спасибо Frodo_Torbins он показал как это можно исправить.  

Всего записей: 65 | Зарегистр. 04-09-2007 | Отправлено: 12:56 05-08-2010 | Исправлено: mcka, 12:58 05-08-2010
salexn1



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
никто случайно не встречал ORM под Delphi 2010? Что нить типа NHibernate, SubSonic...

Всего записей: 502 | Зарегистр. 21-02-2008 | Отправлено: 13:04 05-08-2010
Granmer



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Существует программа написанная на d2007 (начальный разработчик недоступен, только немножко сопровождаем код), там всё работает нормально. Попробовали скомпилировать на d2010, вылетает Access Violation. Начали разбираться, выяснилось, что создаётся форма №1 - потомок формы №0, затем она присваивается новой вкладке в PageControl на главной форме. А вот при закрытии этой вкладки и возникает ошибка, т.к. инициирует закрытие кнопка, находящаяся на форме №1, а вызывает она обработчик с главной формы (который также удаялет и вкладку с PageControl). Получается, что нажав кнопку - мы вызываем с другой формы обработчик, удаляющий вызвавшую форму и при этом на событии OnMouseUP вызвавшей формы вылетает Access Violation, т.к. самой кнопки уже не существует. Вопрос, почему это без ошибок работало в d2007 и с ошибкой в d2010? И можно ли это как-то исправить, не переписывая добрую половину программы? Буду весьма признателен любой помощи, кроме совета не переходить на 2010

Всего записей: 236 | Зарегистр. 20-08-2003 | Отправлено: 16:18 06-08-2010
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Granmer
Ошибка Access Violation неприятна в первую очередь тем, что проявляется не всегда, и не обязательно там где возникла. Хотя если она не появляется, это еще не значит что ее нету, просто в этот раз битый указатель показывает на не критическую область памяти. Подробнее о AV можно почитать тут: http://www.gunsmoker.ru/2010/03/blog-post.html
Конкретно в вашем случае с проблемой справится довольно легко: пускай кнопка через PostMessage посылает специальное сообщение главной форме. А та уже в обработчике сообщений удалит нужную форму вместе со страницей пейджконтрола.

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 16:38 06-08-2010 | Исправлено: Frodo_Torbins, 17:09 06-08-2010
psa1974



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Granmer

Цитата:
почему это без ошибок работало в d2007 и с ошибкой в d2010?

У меня была подобная ситуевина, когда портировал одну библиотеку на d2009/d2010. Там тоже все было сложно закручено при разрушении объектов - объект, разрщаясь, разрушал другой объект, которым владел, а потом еще и обращался к его свойствам... В D2007 и ранее никогда ошибок не ворзникало, и поскольку последняя версия была под D5, то автор само собой ошибку не заметил. Однако в d2009/d2010 четко вылазил AV. Поборол путем пересмотра логики и изменения последовательности рузрушения объектов.
Вероятно, компилятор в Дельфи до 2009 не сильно следил за ссылками на разрушенные объекты и занимаемую ими при жизни память, и если сразу же после разрушения объекта память, занимая им еще не была распределена заново (фактически все данные разрушенного объекта еще по-прежнему оставались в памяти), то обращение к этой памяти по ссылке уже умервщленного объекта прокатывала.  
В d2009/d2010 компилятор более тщательно следит за памятью и такой вольности не допускает.
 
Решение Frodo_Torbins довольно симпатичное  
Как вариант можно в обработчике нажатия кнопки, по которой вызывается с другой формы обработчик, удаляющий вызвавшую форму, первой строкой обнулить свойство OnMouseUP этой кнопки:
ButtonName.OnMouseUP:=nil;
а после этого - все остальное. Или (еще лучше) сделать это в обработчике OnMouseDown...
 
ЗЫ: И да, на Дельфи 2010 переходить надо - она очень вкусная

----------
У программёра есть два состояния: "Втупляю" и "Попёрло"...

Всего записей: 438 | Зарегистр. 08-11-2005 | Отправлено: 19:01 07-08-2010 | Исправлено: psa1974, 19:23 07-08-2010
Granmer



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Frodo_Torbins
psa1974
Спасибо, что натолкнули на мысли, сделал что-то среднее - частично переписал код, частично изменил обработку.  

Цитата:
ButtonName.OnMouseUP:=nil;  
- это не помогло (

Всего записей: 236 | Зарегистр. 20-08-2003 | Отправлено: 12:54 09-08-2010
mcka

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А тут (Quality Central Eng) полный список багов

Всего записей: 65 | Зарегистр. 04-09-2007 | Отправлено: 17:36 10-08-2010 | Исправлено: mcka, 17:39 10-08-2010
Ludens

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вот есть ScrollBox1, в который помещены пять контролов — Memo1, Memo2, Memo3, Memo4, и Memo5. (У каждого из них свойство Align = alTop.)

Мне нужно в рантайме поменять местами Memo2 и Memo3. Просто тупо поменять местами.
Пока я нашел для этого только один работающий способ: удалить ВСЕ Memo из ScrollBox1 (Parent := nil), а затем друг за дружкой вставить их обратно в ScrollBox1 в новом порядке.
Но такой способ мне кажется слишком тяжелым. Неужели нет варианта попроще? Кто-нибудь сталкивался с аналогичной задачей?

Всего записей: 1512 | Зарегистр. 16-01-2006 | Отправлено: 22:50 14-08-2010
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (версии 2009, 2010 Weaver, 2011 Fulcrum)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru