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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
JustAMaaan

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

Цитата:
Все хорошо, только при закрытии среды вылезает AV в rtl140.bpl если открывалась форма с TPngImageList.

Странно. Я этот компонент активно использую, у меня закрывается нормально. Правда, я в дистиллере ставил галку что-то типа "не грузить левую дот-нетовскую байду".
 

Цитата:
Я это заметил когда пофиксил застарелый баг в Menus и подменил библиотечный

А что за баг?

Всего записей: 221 | Зарегистр. 17-09-2004 | Отправлено: 05:19 25-09-2009
0D0A

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

Цитата:
Странно. Я этот компонент активно использую, у меня закрывается нормально.

Наверно версии разные.
У меня с Code Central (http://cc.embarcadero.com/Item/26127), типа для 2009, там в PngFunctions есть строчка:
TPicture.RegisterFileFormat('', '', TPNGObject);
На ней вылетает. В оригинале этого нет
 

Цитата:
А что за баг?

Vista. Темы включены. Создаем PopupMenu, добавляем айтемы: 1, 2, разделитель, 3, 4. Смотрим, запоминаем ширину . Устанавливаем свойство Images (можно пустой ImageList). Смотрим, запоминаем ширину. Удаляем сепаратор. Смотрим, запоминаем ширину. Сравниваем полученые значения ширины, много думаем Создаем submenu. Смотрим как рисуется стрелочка (обращаем внимание на цвет) у выделенного и невыделенного айтема с подменю. Удаляем ImageList, опять смотрим как рисуется стрелочка. Сравниваем цвета

Всего записей: 158 | Зарегистр. 21-09-2009 | Отправлено: 07:10 25-09-2009 | Исправлено: 0D0A, 07:41 25-09-2009
psa1974



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
0D0A
Вот специально проверил работу с TPngImageList... С тем что с Code Central (тут ни строки не менял), и с тем, что я сам портирую еще начиная с Дельфи 7 (порт, сделанный под 2009 идеально заработал в 2010)... Тупо форма, на ней  TPngImageList с десятком картинок, 2 кнопки с подключенным TPngImageList, одна кнопка PngBitBtn... Никаких AV.
 
Не воспроизводится!

Всего записей: 438 | Зарегистр. 08-11-2005 | Отправлено: 08:02 25-09-2009
0D0A

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

Цитата:
Не воспроизводится

Это ведь хорошо Ты просто запутал дельфю со своими портами У меня перестало тока после конкретной чистки.

Всего записей: 158 | Зарегистр. 21-09-2009 | Отправлено: 08:10 25-09-2009
data man



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
EugeneBoss3
Для этого есть отдельные темы
Вопросы по Ehlib
Вопросы по компонентам для Delphi, C++ Builder

----------
Любой достаточно развитый тролль неотличим от подлинно помешанного на какой-либо идее.
Кекс. Антибиотики. Ламбада.

Всего записей: 1696 | Зарегистр. 13-10-2005 | Отправлено: 09:07 25-09-2009
andrewtishkin



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

Цитата:
Vista. Темы включены. Создаем PopupMenu

Хм. Да, с шириной что-то интересное, и со стрелочкой (black/white). В QC бага этого случайно нету (раз он застарелый...)?
Любопытно бы и на решение проблемы кода взглянуть Если это не секрет, конечно

Всего записей: 781 | Зарегистр. 28-08-2008 | Отправлено: 22:00 25-09-2009
0D0A

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

Цитата:
Хм. Да, с шириной что-то интересное, и со стрелочкой (black/white). В QC бага этого случайно нету (раз он застарелый...)?
Любопытно бы и на решение проблемы кода взглянуть Если это не секрет, конечно

 
С шириной вот так:
 

Код:
 
procedure TMenuItem.MeasureItem(ACanvas: TCanvas; var Width, Height: Integer);
 
  procedure MeasureVistaMenuItem;
  begin
     
    // Adjust size if separator
    if Caption = cLineCaption then
    begin
      GetThemePartSize(LTheme, Handle, MENU_POPUPSEPARATOR, 0, nil, TS_TRUE, LSize);
      GetThemeMargins(LTheme, Handle, MENU_POPUPSEPARATOR, 0, TMT_SIZINGMARGINS, nil, LMargins);
      Height := LSize.cy + LMargins.cyBottomHeight;
 
//      Inc(Width, LSize.cx); // теоритически правильно, но LSize.cx получается слишком большим (144)
 
      Inc(Width, 51); // криво, но получается наиболее приближено к реальности
      Exit; // дальше считается длинна заголовка, имхо лишнее для сепаратора
    end
  end;
 
begin
  ...
end;
 

 
Со стрелочкой еще не разбирался, недавно заметил. Оба бага отрепорчены на QC (77965, 72777).

Всего записей: 158 | Зарегистр. 21-09-2009 | Отправлено: 11:39 26-09-2009
ZanderZ



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
При установке документации 2010 вываливается с ошибкой "Could not access network location  \ help" в чем может быть проблема ??

Всего записей: 672 | Зарегистр. 19-05-2006 | Отправлено: 05:36 28-09-2009 | Исправлено: ZanderZ, 06:58 28-09-2009
JustAMaaan

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Что-то в 2010 засады и попадосы на каждом шагу. Конструкция with MyCoolFunction do... с использованием полей возвращаемого значения больше не воспринимается как допустимая

Всего записей: 221 | Зарегистр. 17-09-2004 | Отправлено: 11:53 28-09-2009
psa1974



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

Цитата:
Конструкция with MyCoolFunction do... с использованием полей возвращаемого значения больше не воспринимается как допустимая

Я утраивал разборки на эту тему здесь выше на 9 странице.  
Начало  Итог

Всего записей: 438 | Зарегистр. 08-11-2005 | Отправлено: 12:06 28-09-2009 | Исправлено: psa1974, 12:09 28-09-2009
BugDigger



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Для тех, кому интересно.
 
Иногда при старте отладки программы, программа приостанавливается, и появляется CPU view. Причем естественно, никаких точек прерывания там никто не ставил. Опция "Tools | Options |Debugger opts | CG debuggers | Ignore non-user bpts" тоже не действует. После нажатия F9 (Run) все идет нормально. Немного надоедливая вещь, особенно если таких остановов несколько. То же самое может случаться и при финише отладки.
 
Возможная причина - порождение нескольких процессов, к которым дебагер также присасывается. При этом после останова в CPU view в окошке потоков виден не один отлаживаемый процесс, а несколько. Откуда они берутся? К примеру, один камрад вызывал безобидный TOpenDialog, и при этом shell extension порождал ему дочерний процесс с соответствующим эффектом.
 
Чтобы исправить положение, можно в опциях проекта запретить отладку порождаемых процессов:
 
"Tools | Options | Debugger Options | CodeGear Debuggers | Debug spawned processes=off".

Всего записей: 175 | Зарегистр. 14-06-2007 | Отправлено: 13:39 28-09-2009
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всех поздравляю с D2010. Просто, потому что реальный мой стаж 21 годик как программер. Я хочу чтобы новое золото всем понравилось...

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 14:07 28-09-2009
funnyman

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

Цитата:
Всех поздравляю с D2010. Просто, потому что реальный мой стаж 21 годик как программер. Я хочу чтобы новое золото всем понравилось...

Да ужж, радоваться особо не чему... Лучше бы баги в предыдущих версиях пофиксили.

Всего записей: 106 | Зарегистр. 08-01-2003 | Отправлено: 16:06 28-09-2009
JustAMaaan

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А ещё появилось стойкое ощущение, что документация даже по самым распространённым классам в 2010 по сравнению с предыдущей версией стала хуже, жиже и кривее. Не раз уже вручную прибивал заторчавший в памяти просмотрщик документации. Зато всё в модном веб-формате

Всего записей: 221 | Зарегистр. 17-09-2004 | Отправлено: 16:31 28-09-2009
JAPWork

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребятушки, да хватит стонать.  
Безглючных продуктов такого класса не было, нет и - не будет никогда!  
 
И вопрос. Любопытство меня замучило. Конструкция "with MyCoolFunction do", столь бурно и обильно тут обсуждавшаяся... Чем так уж привлекателен именно такой вариант?

Всего записей: 467 | Зарегистр. 12-02-2003 | Отправлено: 16:57 28-09-2009
V1s1ter



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

Цитата:
Конструкция "with MyCoolFunction do", столь бурно и обильно тут обсуждавшаяся... Чем так уж привлекателен именно такой вариант?

Не нужно явно создавать переменную для хранения результата функции.
 
TMyRec := record
  a, b: Тип;
end
 
function MyCoolFunction: TMyRec;
 
было можно
  with MyCoolFunction do begin
    A := ...
    B := ...
  end;
 
Теперь надо
var
  XXX: TMyRec;
begin
  XXX := MyCoolFunction;
  with XXX do begin
    A := ...
    B := ...
  end;
end;

Всего записей: 948 | Зарегистр. 06-02-2007 | Отправлено: 17:17 28-09-2009
psa1974



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

Цитата:
Чем так уж привлекателен именно такой вариант?

Ответ простой - НИЧЕМ! Все варианты с точки зрения достижения результата равноценны. Если вы не использовали такую семантику, то и не парьтесь
Все дело в силе привычки. Когда всю свою программистскую жизнь программируешь в таком стиле, и тут вдруг запрещают безо всякого повода - невольно расстраиваешься. Лично мне так удобнее - более короткий код получается, не нужно объявлять лишние переменные (разумеется, при этом порой снижается удобочитаемость, но в простом коде это не существенно). А наткнулся в вообще-то на эту багу не в своем коде впервые, а портируя некие компоноиды на новые рельсы...

Всего записей: 438 | Зарегистр. 08-11-2005 | Отправлено: 17:19 28-09-2009 | Исправлено: psa1974, 17:27 28-09-2009
zvyagaaa



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

Всего записей: 776 | Зарегистр. 02-02-2005 | Отправлено: 17:32 28-09-2009
V1s1ter



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zvyagaaa
А баг ли? Я нигде не нашел документирование такой возможности. Может плохо искал?
Пока остаюсь на мнении, что ликвидация не документированных возможностей не является багом, но psa1974 понимаю и поддерживаю - плохо когда отменяют то к чему привык, не говоря уже о портации продуктов. Надеюсь что у разработчиков были существенные основания для ликвидации этой фичи.

Всего записей: 948 | Зарегистр. 06-02-2007 | Отправлено: 18:32 28-09-2009
JAPWork

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
V1s1ter
psa1974
Все, большое спасибо за разъяснения. Просто я думал тут еще что-то от меня ускользнуло.

Всего записей: 467 | Зарегистр. 12-02-2003 | Отправлено: 19:56 28-09-2009
Открыть новую тему     Написать ответ в эту тему

Страницы: 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