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

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

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Господа
Большое спасибо за 2010. Наконец то довелось увидеть, что исправлен менеджер акций. Меню теперь может быть более глубоким, чем это было раньше. Возможно найдутся люди которые скажут: "так себе новость". Для меня это самый крупный баг, который был исправлен за мою жизнь, с чем и поздравляю...

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 20:47 05-02-2010
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
V1s1ter
С помощью небольшого хака можно установить DPI для отдельной проги. Кстати Аэро умеет сам масштабировать окна, без изменения DPI.

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 19:39 09-02-2010
relictus

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ПЛИЗ, помогите кто-нибудь с этим --> http://forum.ru-board.com/topic.cgi?forum=33&topic=8529&start=2260#9

Всего записей: 3698 | Зарегистр. 19-04-2005 | Отправлено: 22:29 17-02-2010
psa1974



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

Цитата:
Порт задал, сделал Active, а в IdTCPServer1Execute пытался ловить пакет... Чую, что не так, вероятно надо еще юзать cв-ва IOHandler/Scheduler/Bindings?

Нюх у тебя хороший Действительно надо юзать IOHandler примерно ТАК. Само собой, нужно знать, какие данные ты собираешься ловить, хотя бы их размер.

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

Всего записей: 438 | Зарегистр. 08-11-2005 | Отправлено: 00:38 18-02-2010 | Исправлено: psa1974, 01:09 18-02-2010
moverast



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
доброго времени суток.
Прошу помочь с решением небольшой проблемы.
Написана программа в Delphi 2010 для работы с базой данных access 2007.
Но есть проблема в том, что программа не может подключиться к файлу БД, если в системе не установлен Office 2007(сам access не требуется, достаточно общих компонентов).
ошибка следующая: "Не удается найти указанный поставщик. Вероятно, он установлен неправильно."
Помогите решить эту проблему. Возможно достаточно таскать с собой какие-нибудь библиотеки. или установить какой-нибудь небольшой пакет в систему.
PS: пробовал MDAC устанавливать - не помогло.

Всего записей: 589 | Зарегистр. 26-11-2007 | Отправлено: 06:50 18-02-2010
relictus

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
psa1974
Данные - raw data, размер известен.  
А какой IOHandler цеплять к серверу? Их там несколько видов

Всего записей: 3698 | Зарегистр. 19-04-2005 | Отправлено: 08:38 18-02-2010
psa1974



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
relictus
Я никакой IOHandler не цеплял. Если посмотреть метод TIdCustomTCPServer.Startup, который вызывается при установке свойства Active:= true, то видно, что в случае, когда свойтсву IOHandler ничего не назначено, создается внутренний экземпляр класса TIdServerIOHandlerStack. И у меня при этом все работает замечательно.

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

Всего записей: 438 | Зарегистр. 08-11-2005 | Отправлено: 09:11 18-02-2010
relictus

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
psa1974
Ага, уже попробовал без ИОхэндлера - работает Вот только все контролы на форме после получения пакета фризяться Что-то еще надо прикрутить?

Всего записей: 3698 | Зарегистр. 19-04-2005 | Отправлено: 09:38 18-02-2010
neznayka3

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

Всего записей: 385 | Зарегистр. 07-06-2007 | Отправлено: 09:47 18-02-2010
psa1974



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

Цитата:
Вот только все контролы на форме после получения пакета фризяться

Видать у тебя размер пакетов большой.  
Это особенность библиотеки Инди - она работает синхронно, т.е. в основном потоке.
Вариантов два:
1. собственно прием пакета выделить в отдельный поток.
2. Сделать как я у себя сделал: моя прога принимает файлы, передаваемые клиентом (эта же самая прога, другой экземпляр ). Дык вот я файлы передаю и принимаю файлы не одним пакетом (представь, что файл весит, например, 100 МБ) а блоками по 32768 байт, в итоге есть возможность в цикле вставлять Аппликатион.ПроцессМессажес... И все дышит...
Вероятно есть еще какой-то вариант, но я не в курсе...
 

Всего записей: 438 | Зарегистр. 08-11-2005 | Отправлено: 10:26 18-02-2010
relictus

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

Цитата:
Видать у тебя размер пакетов большой.  

360 байт
Нашел демку с асинхронным сервером, но там на 9-й инде, а в 10-ке таких компонет не нашел (пока)

Всего записей: 3698 | Зарегистр. 19-04-2005 | Отправлено: 10:56 18-02-2010
psa1974



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

Цитата:
360 байт

Тогда странно... копеечный размер... У меня такого не наблюдалось... если покажешь, как делал, может чего и прояснится...

Всего записей: 438 | Зарегистр. 08-11-2005 | Отправлено: 14:02 18-02-2010
relictus

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

Цитата:
если покажешь

См. личку.

Всего записей: 3698 | Зарегистр. 19-04-2005 | Отправлено: 16:28 18-02-2010
Andrey128

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как в ран-тайме массово подменить класс в форме или датамодуле?
Например, я описал класс:

Код:
type
  TmyStringField = class(TStringField)
    ...
  end;
 
и в ран-тайме хочу подменить у полей датамодуля тип TStringField на TmyStringField.
У меня получилось реализовать _ручную_ подмену через процедуру:

Код:
procedure myReplaceClassField(var AComponent: TStringField);
var
  NewComponent: TmyStringField;
  SaveComponent: TStringField;
begin
  SaveComponent := AComponent;
  NewComponent := TmyStringField.Create(SaveComponent.Owner);
  try
    SaveComponent.DataSet := nil;
    NewComponent.Tag := SaveComponent.Tag;
    NewComponent.Alignment := SaveComponent.Alignment;
    ...
    NewComponent.OnValidate := SaveComponent.OnValidate;
  finally
    SaveComponent.Free;
    AComponent := NewComponent;
  end;
  NewComponent.Name := SaveName;
end;
 

И если в конструкторе датамодуля сделать:

Код:
myReplaceClassField(FIOAbonSet);

то класс подменится.
 
А если у меня N датамодулей, а в них куча TStringField, то подмена слишком усложняется.
Хорошо бы пройтись по Components[] датамодуля и подменить нужные типы, но проперть Components[] только для чтения.
 
У кого-нибудь может есть идеи как это реализовать автоматом?

Всего записей: 408 | Зарегистр. 16-01-2003 | Отправлено: 08:01 19-02-2010
VadimLou



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

Всего записей: 702 | Зарегистр. 22-07-2004 | Отправлено: 02:36 24-02-2010
Andrey128

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

Цитата:
Откуда вообще ноги у такой задачи растут ?  

Есть работающий проект IBX + Interbase.
Понадобилось возможность вводить ФИО и название улиц как на русском, так и на казахском языках. Сколько я не бился, у меня не получилось корректно хранить и выводить одновременно русские и казахские символы. По этой проблеме я спрашивал здесь.
 
И решил пойти другим путем, хранить в БД символы казахского языка в кодировке 1251, а при показе декодировать в Unicode. Этот механизм уже полгода как работает. Единственное неудобство, так это необходимо помнить, что при добавлении DataSet нужно не забывать в соответсвующих полях подменять объект TIBStringField на TmyStringField, описанным в предыдущем моём сообщении способом.
 
Сейчас нашел другое решение, я не подменяю объекты, а ставлю хук на методы TIBStringField.GetAsString и TIBXSQLVAR.GetAsString и там уже декодирую символы.
 
В идеале нужно переписать на FIB + Firebird - в этой связке Unicode поддерживается как надо, но проект слишком огромный.
 
Возможно слишком много и сумбурно написал, сорри.

Всего записей: 408 | Зарегистр. 16-01-2003 | Отправлено: 07:24 24-02-2010
eddoc



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

Всего записей: 328 | Зарегистр. 25-11-2007 | Отправлено: 17:49 25-02-2010 | Исправлено: eddoc, 17:49 25-02-2010
VadimLou



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
eddoc
http://qc.embarcadero.com/wc/qcmain.aspx?d=82199

Всего записей: 702 | Зарегистр. 22-07-2004 | Отправлено: 22:12 25-02-2010
yegorovpavel



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Установил Delphi 2010 c нуля, появилась такая проблема с инди: если кинуть на форму idHTTP и попытаться скомпилировать, делфи ругается на ошибку в файлике IdCookieManager.pas:
[DCC Error] IdCookieManager.pas(118): E2010 Incompatible types: 'TIdCookieList' and 'TIdCookieDomainList'
[DCC Error] IdCookieManager.pas(172): E2003 Undeclared identifier: 'IsValidCookie'
[DCC Error] IdCookieManager.pas(236): E2010 Incompatible types: 'TIdCookieList' and 'TIdCookieDomainList'
[DCC Fatal Error] Unit4.pas(7): F2063 Could not compile used unit 'IdCookieManager.pas'
 
С чем может быть связано?

Всего записей: 58 | Зарегистр. 17-08-2007 | Отправлено: 21:27 01-03-2010
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
С тем, что Indy - это один большой глюк. А также с тем, что в релизах дельфи поставляются не то чтобы бета, а даже альфа версии Indy. Если есть возможность, то сразу переходи на ICS. Со временем всё равно переедешь на ICS. И здесь пословица "Лучше позже, чем никогда" не уместна. Тогда уж лучше никогда.
Indy - лучшая реклама ICS (с).

----------
/не мы такие, жизнь такая/

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 23:12 01-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