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

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

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

Цитата:
нельзя хранить тексты sql запросов на клиенте

ну не то чтобы совсем нельзя. есть такая схема, когда некоторые запросы (как правило - отчеты, хотя и не только они) хранятся в таблице вида "имя отчета";"запрос" и таким образом во многих случаях при изменении запроса не нужно заново компилировать программу
 
конечно, если под "нельзя хранить" имелись в виду вопросы безопасности (типа никому не показывать структуру БД) - это уже на усмотрение заказчика/разработчика

Всего записей: 442 | Зарегистр. 26-10-2004 | Отправлено: 12:12 15-08-2012
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Samotek
Цитата:
а если запрос с разными колонками? Например нужны только розничные цены или остатки только из определенного подразделения? То есть запрос создается динамически. Столько вьюх не напишешь.
Чуть выше neznayka3 уже упомянул функции.
 
neznayka3
Цитата:
выборки напрямую из таблиц у меня нет, только view & functions.
В таком случае не стоит парится. В том топике не про ваш случай говорилось.
 
eddoc
Цитата:
А как по-вашему выглядел бы идеальный код в моем случае?
Я бы вынес из потока всю инициализацию в конструктор/деструктор потока. В этом случае она будет отрабатывать в основном потоке и синхронизация ввобще не понадобится. Как то так. Ну а в Execute все остальное. Только "Form1.BtnStopClick(Self);" заменить на "Synchronize(StopClick)".

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 12:34 15-08-2012 | Исправлено: Frodo_Torbins, 12:36 15-08-2012
Dorami

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго дня.
Win 7 (64), Delphi 7, Delphi 2009 (12.0.3420.21218). Проинсталировал CnPack 0.9.9.621. В Delphi 7 сразу же появилось соответствующее меню. В Delphi 2009 никакого меню нет и при загрузке среды логотип CnPack не отображается. Как сделать, чтобы в Delphi 2009 тоже загрузился CnPack?
Спасибо.

Всего записей: 21 | Зарегистр. 25-04-2009 | Отправлено: 13:20 15-08-2012
XPerformer



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dorami
В папке с CnPack есть утилита Setup.exe
Позволяет одним махом отключить/включить CnWizards во всех инсталляциях Delphi.
setup.exe -i
или
setup.exe -u

Всего записей: 2536 | Зарегистр. 20-06-2011 | Отправлено: 15:53 15-08-2012
Dorami

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

Цитата:
В папке с CnPack есть утилита Setup.exe

Запустил. Появилось окошко с текстом:
 
CnPack IDE-Мастер установлен в:
- Delphi 7
- RAD Studio 2009
 
но несмотря на это в Delphi 2009 нет ни пункта главного меню cnPack ни в главном меню какого-либо намека на его присутствие, ни в контекстном.

Всего записей: 21 | Зарегистр. 25-04-2009 | Отправлено: 16:46 15-08-2012
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dorami
Гляньте DelphiDistiller-ом что там 2009-я загружает.

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 17:16 15-08-2012
Dorami

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

Цитата:
Гляньте DelphiDistiller-ом что там 2009-я загружает.

Загружаю Delphi посредством DelphiDistiller как Ok and Run Delphi 2009 - загружается CnPack и не загружаются все сторонние компоненты такие как эх, фибы и т.д.
Загружаю Delphi посредством запуска через ярлык - Не загружается CnPack и загружаются все сторонние компоненты.
 

Всего записей: 21 | Зарегистр. 25-04-2009 | Отправлено: 18:12 15-08-2012
eddoc



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

Цитата:
Я бы вынес из потока всю инициализацию в конструктор/деструктор потока. В этом случае она будет отрабатывать в основном потоке и синхронизация ввобще не понадобится.

Я тоже пришел к этому же выводу, когда прикрутил поток в реальном проекте. Там TThread.Update вообще не понадобился, т.к. вся анимация удивительно легко реализовалась в основном потоке.
 
Да, за код спасибо. Познавательно

Всего записей: 328 | Зарегистр. 25-11-2007 | Отправлено: 19:00 15-08-2012
Frodo_Torbins

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

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 12:41 16-08-2012
neznayka3

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

Всего записей: 385 | Зарегистр. 07-06-2007 | Отправлено: 15:26 16-08-2012
eddoc



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

Цитата:
как правильно?

ActionList не подойдет?

Всего записей: 328 | Зарегистр. 25-11-2007 | Отправлено: 11:15 18-08-2012
neznayka3

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
eddoc
нет. и так все через них. например, если изменять контрагентов из разных модулей, надо передавать id контрагента, те одна и та же функция вызывается с разными параметрами, из разных actions.

Всего записей: 385 | Зарегистр. 07-06-2007 | Отправлено: 16:26 18-08-2012
ant0ni02004

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

Цитата:
будет куча ссылок друг-на друга

т.е. нормально что из заказа, например, можно и контрагента создать, и новый товар добавить итд, а вот что в коде тоже самое будет - ненормально?
 
можно это всё вынести в отдельный модуль  
у него одного будет куча ссылок на остальные, а вот у остальных будет только ссылка на него
в самом модуле - функции типа AddContragent, EditContragent, DelContragent, AddPart, .....
каждая к соотв. модулям обращается
 
можно пойти еще дальше, и в initialization каждого модуля прописывать самоё себя куда нибудь в список, а из других модулей вызывать что-то типа DoVerb('AddContragent')
 

Всего записей: 442 | Зарегистр. 26-10-2004 | Отправлено: 00:09 19-08-2012
eddoc



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Комрады, подскажите
 
Пытаюсь затолкать картинки в экзешник. Помещаю картинки в файл png_img_src.rc

Код:
PngImage_1 RCDATA "pict_135_135\\medic_01.png"
PngImage_2 RCDATA "pict_135_135\\medic_02.png"
PngImage_3 RCDATA "pict_135_135\\medic_03.png"
PngImage_4 RCDATA "pict_135_135\\medic_04.png"

После компиляции png_img_src.res и подключения его в проект пытаюсь извлечь оттуда картинки

Код:
...
implementation
 
{$R *.dfm}
{$R png_img_src.res}
...
var ImgSplash: TImage;
      RS: TResourceStream;
begin
  RS:= TResourceStream.Create(HInstance, 'PngImage_1', RT_RCDATA);
  try
    ImgSplash.Picture.Graphic.LoadFromStream(RS);//здесь валится с ошибкой
  finally
    FreeAndNil(RS);
  end;
end;

 
Среда ругается "First chance exception at $7509B9BC. Exception class EAccessViolation with message 'Access violation at address 004E1A80 in module 'Pr_comstr_1.exe'. Read of address 00000000"
 
Где не так? Может есть другой способ затолкать картинку в исполняемый файл?
 
Добавлено: проблему решил использованием метода LoadFromResourceName

Всего записей: 328 | Зарегистр. 25-11-2007 | Отправлено: 10:51 22-08-2012 | Исправлено: eddoc, 13:23 22-08-2012
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
eddoc
Picture создаст Graphic только после того, как загрузит картинку, а до этого он Nil. Поэтому нужно сначала загрузить ресурс в TPngImage, а потом Assign-ом в Picture.

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 13:38 22-08-2012
A_V

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Frodo_Torbins
либо просто перед этим создать ImgSplash.Picture.Graphic := TWICImage.Create;
но LoadFromResourceName в любом случае лучше

Всего записей: 770 | Зарегистр. 07-04-2002 | Отправлено: 14:48 22-08-2012
eddoc



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
A_V, Frodo_Torbins
 
Про nil мне ребята на скруле подсказали. В этом куске кода проблема решена

Всего записей: 328 | Зарегистр. 25-11-2007 | Отправлено: 23:26 22-08-2012
Eternal_Shield

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
eddoc
а чем ImgSplash.Picture.Assign(PngImg) не угодил? имхо, так более корректно.

Всего записей: 766 | Зарегистр. 18-05-2009 | Отправлено: 23:42 22-08-2012 | Исправлено: Eternal_Shield, 23:55 22-08-2012
eddoc



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

Всего записей: 328 | Зарегистр. 25-11-2007 | Отправлено: 17:31 23-08-2012 | Исправлено: eddoc, 17:37 23-08-2012
jFobos



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

Всего записей: 452 | Зарегистр. 03-12-2007 | Отправлено: 20:04 24-08-2012 | Исправлено: jFobos, 20:13 24-08-2012
Открыть новую тему     Написать ответ в эту тему

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