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

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



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mdid
да нет, не ленивый. сломали у народа капчу, теперь в поисках чего нить существенного.

Всего записей: 695 | Зарегистр. 16-03-2009 | Отправлено: 14:47 17-03-2010
mdid

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а кто вам мешает допустим вместо "1" ставить дерево..или вместо тройки кота скрюченного?...а вообще была в мое детство книжка...и там алфавит был в виде человечка который выгибался..можно в этом направлении копнуть...тоесть заменить цифры на людей животных или ростения...в сочитании с шумом и линиями я думаю сломать такое будет напряжно
или просить юзеров выбирать цифры(или буквы) рядом с которым есть какой то объект...кот пес..хз..что угодно...хотя я думаю такое будет легче сломать

Всего записей: 1298 | Зарегистр. 13-02-2006 | Отправлено: 15:51 17-03-2010 | Исправлено: mdid, 15:53 17-03-2010
Davemus

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
При установке свежей версии Indy выскакивает ошибка: [DCC Error] IdURI.pas(466): E2003 Undeclared identifier: 'WideCharIsInSet'
Может кто подскажет что за фрукт WideCharIsInSet ?  
WideCharSet и WideCharIsInSet - между ними есть что общего?

Всего записей: 20 | Зарегистр. 03-01-2008 | Отправлено: 15:49 22-03-2010
Medium



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Присоединяюсь к вопросу о WideCharIsInSet.
Сегодня скачал Indy v.10.5.7. При попытке компиляции пакета IndyProtocols140.dpk в файле IdURI.pas действительно ругается на данную функцию.
Нигде больше в исходниках Indy ссылок на нее нет. Гугл молчит.
Проверил в старой версии Indy - 10.5.5 - там в этом месте была функция CharIsInSet (стандартная делфийская).
По всей видимости, очередной косяк разработчиков.

Всего записей: 587 | Зарегистр. 09-04-2002 | Отправлено: 22:29 22-03-2010
Bazzill

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, в D2009-2010 уникодный символ всегда строго двум байтам равен или возможна ситуация когда больше двух байт?

Всего записей: 234 | Зарегистр. 18-04-2009 | Отправлено: 22:32 22-03-2010
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bazzill
В зависимости от того, какого типа у вас строка. И плюс не стоит забывать про суррогатные пары.

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 22:44 22-03-2010
psa1974



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

Цитата:
к вопросу о WideCharIsInSet

Скачивал Indy v.10.5.7 с SVN 8 марта - ревизию 4105... Нигде никакого упоминания ф-ции 'WideCharIsInSet'. Не знаю как насчет работоспособности, но все установилось идеально.  
В последней ревизии 4148 эта ф-ция действительно упоминается без какого-либо объявления... Впервые она появилась в ревизии 4146. Так что юзайте ревизию 4145 и старше (в смысле более древнюю)...  

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

Всего записей: 438 | Зарегистр. 08-11-2005 | Отправлено: 00:08 23-03-2010
Medium



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
psa1974
Спасибо за информацию. Если еще подскажешь, где скачать предыдущие ревизии (в частности, 4145 и старше) - буду признателен вдвойне.
Версию 10.5.7 ревизии 4148 брал здесь: hxxps://svn.atozed.com:444/svn/Indy10/.
Но ссылок на предыдущие там нет.

Всего записей: 587 | Зарегистр. 09-04-2002 | Отправлено: 01:37 23-03-2010
Davemus

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
psa1974
Medium
 
Сегодня погуглил : http://forums2.atozed.com/viewtopic.php?f=7&t=4175
                           http://forums2.atozed.com/viewtopic.php?f=7&t=4162
 
Надеюсь что скоро пофиксят этот баг. А пока закомментировал строки следующим образом:
 
if {WideCharIsInSet(UnsafeChars, LChar) or} (Ord(LChar) < 33) or (Ord(LChar) > 128) then
 
if {WideCharIsInSet(UnsafeChars, LChar) or} (Ord(LChar) < 32) or (Ord(LChar) > 127) then
 
Но это конечно не самый лучший вариант.

Всего записей: 20 | Зарегистр. 03-01-2008 | Отправлено: 06:06 23-03-2010 | Исправлено: Davemus, 06:20 23-03-2010
psa1974



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

Цитата:
Если еще подскажешь, где скачать предыдущие ревизии

Я качал с репозитория клиентом SVN - прогой TortoiseSVN...  
Примерный алгоритм описан здесь: http://kvendi.pp.ru/?p=66 Все делать как там указано, только в окне TortoiseSVN->Экспорт указать не "ведущая ревизия (HEAD)", а требуемая...
Ну или могу выложить уже скачанную ревизию 4105...

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

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



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

Цитата:
Ну или могу выложить уже скачанную ревизию 4105...
Выложи, пожалуйста. Спасибо

Всего записей: 587 | Зарегистр. 09-04-2002 | Отправлено: 10:07 23-03-2010
psa1974



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Medium
Indy 10.5.7.4105
Indy 10.5.7.4145
P.S. на всякий напомню, что перед установкой надо тщательно вычистить старую Инди...

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

Всего записей: 438 | Зарегистр. 08-11-2005 | Отправлено: 11:29 23-03-2010 | Исправлено: psa1974, 11:37 23-03-2010
Medium



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

Всего записей: 587 | Зарегистр. 09-04-2002 | Отправлено: 11:44 23-03-2010 | Исправлено: Medium, 11:46 23-03-2010
Bazzill

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

Цитата:
В зависимости от того, какого типа у вас строка. И плюс не стоит забывать про суррогатные пары.

 
Можно по-подробнее и по первому и по второму моменту?
 
Ведь по идее, WIDE это 2 байта, и даже в справке написано, что в Win используется только двух-байтовая схема.
 
Кодировка этого Unicode - UTF16, а значит два байта.
 
Хотелось бы разобраться с этим вопросом.

Всего записей: 234 | Зарегистр. 18-04-2009 | Отправлено: 16:00 23-03-2010
psa1974



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bazzill
Delphi в мире Юникода, часть I: что такое Юникод, зачем он Вам нужен и как с ним работать в Delphi?

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

Всего записей: 438 | Зарегистр. 08-11-2005 | Отправлено: 16:32 23-03-2010
Bazzill

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
psa1974
 
Ты знаешь, там много чего написано про то как переходить на Unicode версии Delphi.
 
Мне бы изначально знать, будет ли символ всегда двухбайтовым в памяти или нет. А уж потом думать, переходить мне на Unicode или нет.
 
В разных местах по-разному пишут.

Всего записей: 234 | Зарегистр. 18-04-2009 | Отправлено: 17:38 23-03-2010
psa1974



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

Цитата:
Мне бы изначально знать, будет ли символ всегда двухбайтовым в памяти или нет. А уж потом думать, переходить мне на Unicode или нет.

Если сказать кратко - нет, не всегда символ будет двухбайтовым. Все зависит от используемого способа представления юникода. Например, в UTF-8 символы с номером меньше 128, при записи превращается в обычный текст ASCII (т.е. ангельские символы - однобайтовые, национальные - двухбайтовые).
Читай сюда: http://ru.wikipedia.org/wiki/Юникод (читать все равно много придется )

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

Всего записей: 438 | Зарегистр. 08-11-2005 | Отправлено: 18:52 23-03-2010
Bazzill

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
psa1974
 
Это понятно, что читать много придеться.
 
Вот ты пишешь про UTF-8, но ведь в Delphi по-умолчанию UTF-16 используется.
 
А это значит, что если я кодировку менять не буду, то символы всегда двухбайтовые будут, правильно?
 
 
Мало ли какой софт люди пишут, не все же с файлами работают и парсят их, определять в какой они кодировке.

Всего записей: 234 | Зарегистр. 18-04-2009 | Отправлено: 19:00 23-03-2010 | Исправлено: Bazzill, 19:00 23-03-2010
psa1974



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

Цитата:
Вот ты пишешь про UTF-8, но ведь в Delphi по-умолчанию UTF-16 используется.

Прошу прощения, сперва я тебя не так понял
 
Да, если использовать тип string (который на самом деле есть UnicodeString, который есть старый добрый WideString но с подсчетом ссылок), символы в памяти всегда будут двухбайтовые. Об этом достаточно прозрачно написано в первой предложенной мной статье, которую ты поленился почитать.
 

Цитата:
Мало ли какой софт люди пишут, не все же с файлами работают и парсят их, определять в какой они кодировке.

Способ представления юникода (UTF-8, UTF-16 и пр.) определяется преамбулой (заголовком, BOM) файла (в Дельфи есть для этого штатные средства)... Проблема возникает, если файл, записанный в юникоде, не имеет преамбулы, что в принципе возможно и часто бывает...
Например, если сохранить строку "Delphi в мире Юникода, часть I. Что такое Юникод, зачем он Вам нужен и как с ним работать в Delphi" в файл в UTF-8 с преамбулой и без нее и попытаться загрузить этот файл в тот же стринглист, то в первом случае длина текста будет правильная - 98 символов, а во втором - полный бред длиной 161 символ... Но каждый символ в памяти будет занимать ровно 2 байта.

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

Всего записей: 438 | Зарегистр. 08-11-2005 | Отправлено: 19:59 23-03-2010 | Исправлено: psa1974, 20:18 23-03-2010
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bazzill
Про суррогатные пары тут: http://ru.wikipedia.org/wiki/UTF-16 В делфи с ними можно работать с помощью класса TEncoding.

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 22:12 23-03-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