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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Embarcadero RAD Studio

Модерирует : 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 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327

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

V1s1ter



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
         
Обсуждаем новые возможности и баги
 
Просьба писать про Embarcadero RAD Studio XE5, XE6, XE7, XE8, 10.x (Seattle, Berlin,Tokyo)
  По вопросам скачивания - Тема в Варезнике (lite-версии тут)
  Вопросы по неюникодным версиям Delphi — шестая бумага
  Бесплатные Компоненты и утилиты для Delphi/BCB/FreePascal/Lazarus
  Коммерческие компоненты и утилиты для Delphi/BCB
  Вопросы по компонентам для Delphi, C++ Builder разных версий
  Новые языковые возможности, начиная с Delphi 2005 по XE4 — здесь, и New!здесь еще
  Англоязычный официальный форум Embarcadero — здесь
  Embarcadero Quality Central, веб интерфейс — здесь, новый Quality Portal тут
  Программирование на Delphi — викиверситет
  Другие ресурсы
   Предыдущие бумаги
 
     Вопросы ..XE4       Вопросы ..XE3    Вопросы ..XE2      
  Вопросы ..2009-XE    Вопросы ..<2009 / ч.5    Вопросы ..<2009 / ч.4      
  Вопросы ..<2009 / ч.3    Вопросы ..Delphi 2 / ч.2    Вопросы ..Delphi  

  Выключение встроенного эксперта Castalia  для XE8 (иногда помогает при вылетах и тормозах)  
  Полезные плагины(эксперты)

Всего записей: 948 | Зарегистр. 06-02-2007 | Отправлено: 15:25 11-09-2013 | Исправлено: Komandor, 15:49 31-03-2024
dred2k



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xpin2013
Коли так все непросто, напрашивается вариант просто "обернуть" содержимое ActionExecute установкой Action.Enabled := False/True (через блок try...finally, разумеется) и оставить все как есть. Разве не поможет ?

Всего записей: 403 | Зарегистр. 15-02-2006 | Отправлено: 12:02 04-02-2015
xpin2013



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dred2k
Практически то же самое и сделал. Тот же try finally, только не хочется моргать состоянием кнопки - то есть без Enabled, через свой флаг boolean. Должно помочь - вызовов CompareSum просто нет ни под каким соусом.

Всего записей: 291 | Зарегистр. 16-01-2014 | Отправлено: 12:18 04-02-2015
V1s1ter



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

Цитата:
нельзя использовать ProcessMessages в обработчиках этих самых messages  

Не совсем верное утверждение. Вызов ProcessMessages из обработчика события всеголишь приведет к ПРОДОЛЖЕНИЮ обработки очереди событий по ее окончания. Тут только один момент, нужно предусмотреть  что бы не образовался заменутый цикл. К стати его легко избежать заключив вызов ProcessMessages а скобки типа  

Код:
 
if not IsWorking then begin
  IsWorking := true;
  ...
  ProcessMessages  
  ...
  IsWorking := false;
end;
 

 
 
Добавлено:
Естественно еэто утверждение верно, если в очереди событий нет двух бработчиков, когда второй использует результаты первого. В этом случае во втором обработчике нужен цикл проверки доступности данных. Как не умодробительно это звучит в этом цикле должен быть ProcessMessages для вызова события для подготовки данных, если по каким либо условиям оно небыло отработано ранее.
Вывод все  эти конструкции возможны, но требуют ясного понимания цепочек обработки комманд/событий и внимательности.

Всего записей: 948 | Зарегистр. 06-02-2007 | Отправлено: 13:18 04-02-2015
xpin2013



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

Цитата:
К стати его легко избежать заключив вызов ProcessMessages а скобки типа

Нету у нас этого. Мы вообще так далеко не плаваем. Из моего кода видно, что ProccessMessages вообще изолирован со всей кучей обработок.

Цитата:
Не совсем верное утверждение.

В нашем случае как раз верное. - Идёт борьба с привидениями.

Цитата:
но требуют ясного понимания цепочек обработки комманд/событий и внимательности.

Мы вообще так далеко не плаваем (с). Нам требуется изолировать существование акции на момент вызова ProccessMessages. Кстати прокатывает даже ShortKey := 0.

Всего записей: 291 | Зарегистр. 16-01-2014 | Отправлено: 14:36 04-02-2015
vengr



Рафинированный Теоретик
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
TeeChart.Pro.VCL.v2015.14.150120.FS не компиллится на хе7u1 (студия на виртуальной W7 32)

Цитата:
TeeImport921
Cannot recompile Delphi package: TeeImport921.dpk
Embarcadero Delphi for Win32 compiler version 28.0
Copyright (c) 1983,2014 Embarcadero Technologies, Inc.
VCLTee.TeeImport.pas(136) Fatal: E2213 Bad packaged unit  
format: C:\Program Files\Embarcadero\Studio\15.0\Lib\win32\Release\bindcomp.dcp.Data.Bind.JSON -  
Expected version: 28.0, Windows Unicode(x86) Found version: 0.0, Windows Ansi(x86)
EXCEPTION:
Compilation aborted.

 
как побороть?

Всего записей: 3579 | Зарегистр. 21-08-2001 | Отправлено: 01:48 11-02-2015
V1s1ter



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

Всего записей: 948 | Зарегистр. 06-02-2007 | Отправлено: 00:19 13-02-2015
vengr



Рафинированный Теоретик
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
V1s1ter

Цитата:
Выложить?

Выложить, заранее 10х!
подозреваю, что тут чтото связано с виртуальностьюй Win7...

Всего записей: 3579 | Зарегистр. 21-08-2001 | Отправлено: 00:35 13-02-2015
V1s1ter



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

Всего записей: 948 | Зарегистр. 06-02-2007 | Отправлено: 01:29 13-02-2015
ivan76

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Использую DataSnap (Delphi XE6) тип TDSServer.
 
На серверной части AdoConnect и AdoQuery;
 
Клиентская часть TSQLConnection
 
Собственно все работает, клиент получает выборку данных с сервера, но возникла ситуация с передачей файла с клиента, на сервер.
 
Не могу сообразить как сделать, подскажите.
 
Гугл в основном показывает обратную ситуацию, передачу с сервера на клиент.
 
Добавлено:
Вопрос решен.

Всего записей: 159 | Зарегистр. 04-12-2003 | Отправлено: 21:55 17-02-2015
Alexey_Gawrilow



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
SuPriTo
asutp2
обновление к http://forum.ru-board.com/topic.cgi?forum=33&topic=13825&start=1700#7
 
VerySimple.Lua 2.0 – a cross-platform Lua 5.3.0 wrapper for Delphi XE5-XE7
http://blog.spreendigital.de/2015/02/18/verysimple-lua-2-0-a-cross-platform-lua-5-3-0-wrapper-for-delphi-xe5-xe7/
http://code.google.com/p/verysimplelua/
 


----------
C уважением, Алексей.
-----------------------------------------------
Хороших %s не бывает — бывает не худший вариант.

Всего записей: 640 | Зарегистр. 08-09-2003 | Отправлено: 23:10 18-02-2015
xpin2013



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У меня вопрос, суть которого проще понять после моего, возможно корявого пояснения (на случай поспорить - я пас, пояснение оно только для вопроса).
 
Простите новичка, недавно столкнулся с необходимостью узнать, что такое MVC (Model View Controller), в руках исходники с MVC. Я под впечатлениями, как от исходников, так и от того что в интернете бросилось в глаза.
1) Модель - обёртка данных. Смысл её существования в обеспечении отдельного развития модели от конечных реализаций. Неоднократно делаются замечания, что хороший тон, это когда бизнес-логика закладывается в модели. Ну это понять просто, например, - бизнес-логика в триггерах, а никак не в событиях датасета. Зачем же Модель, то есть обёртки? Использование модели уже отменяет технологию DB->DataSet->DBControl и обязывает продублировать работу с данными - данные изменяются и в модели и в файле DB. Оказывается Controller умеет строить модель независимо, - либо он читает данные из датасета/базы и заполняет коллекцию/список, либо строит её не связанно с базами, - на момент существования процесса или задачи. Остальной код не знает как заполнять обёртки и использует для этого контроллер. (сомневаюсь, что ради этого можно согласиться на дублирование данных, когда нам не хочется использовать ClientDataSet мы его не используем).
2) View - представление. Тут понятно, если мы добавили поле в модель, мы его добавляем в гридину, всё так же как обычно за исключением - это не DBControl, нет датасетов/датасурсов. Мы из обёрток вытаскиваем строки и передаём их в грид. Если не ошибаюсь в сишарпе это метод Fill тоже какого-то контроллера, но вызывает его именно представление. Почему View мы связываем с моделью, а не с датасетом? Чем можно заменить технологию событий протекающих через DataSource? Ну есть пассивный MVC - обёртки есть, событий их изменений нет. Есть активный, в классическом варианте MVC - это активный MVC. В этом случае View подписывается на события модели, у меня десяток View - 5 подписалось на события одного справочника, а 5 подписалось на события другого. Там в сишарпе событие это не один обработчик OnChanged, а сколько угодно все происходят пачкой последовательно. В шарпе это реализовано на уровне языка и понятно, почему можно согласиться на MVC, для чего пассивная модель может быть использована в Delphi совершенно теряюсь, для активной модели приведу свой суррогат/заменитель
Подробнее...
Для своего типа события свой класс-реализация с тремя методами. Думаю легко переделывается в генерик, у меня их ещё не было. Про пассивную модель я понял, что к ней отношение негативное. Хотя у меня в той программе именно пассивная модель, мне стало интересно понять плюсы MVC, кроме тех, что если в Delphi MVC, то заказчику кроме меня никто не поможет, он побежит ко мне. Но хоть и реальный плюс - озвучивать его не желательно.
3) Контроллер. Ну если модель не знает как хранятся данные, то она и не умеет их удалять из DB файла. Это делает, на сколько понимаю контроллер - даёт команду удалить из модели и сразу же удаляет из файла, или тоже является подписчиком и удаляет когда модель генерирует событие удаления. Контроллер можно выбирать, тут я вообще не ориентируюсь - зачем? View обязан знать модель, чтобы её отобразить, но вроде, чтобы поменять данные, - он просит контроллер. Это как если бы мы хотели AfterInsert перенести в контроллер, бизнес-логику из AfterInsert распихать по модели, а что касается того, что у меня изменения и в базе и в модели, так это остаётся в контроллере. Ну пока для меня это тихий ужас, который простителен, если речь идёт о том, что это не в Delphi и нет DataSource.
 
Наконец то добрался до вопроса. Я там читал на Хабре, как они там бряцая талмудами мусолят что есть истинный MVC, а что не истинный. Идёт чёткая установка, что удобства тут в расчёт не принимаются. Гораздо важнее истинный MVC. Тема то популярная, а что полезного можно извлечь в Delphi? Второй вопрос, а встроят ли делегаты в Delphi когда ни будь? Ну могло бы быть интересным тот же MVC покрутить "с девками". А пассивный, то, что-то совсем не понравился. Когда я подписываюсь на событие, я как следствие не дублирую модели пачками на каждое окно и знаю где я должен менять циферки. А так у меня в одном окне я меняю данные - их редактировали, в другом окне перестраиваю, так как могли редактировать, но данные беру уже из другого места. Такая модель ну очень не нравится. Что полезного для Delphi и будут ли делегаты?  На сколько вообще я отстал от жизни?
 
Добавлено:
Совершенно забыл. Тут есть файлик vlb вроде. Он для каждого модуля пустой, но дата его всегда меняется. Чтобы в нём что-то было, в Опциях Delphi в ветке Live Bindings надо Display LiveBindings. Потом увидим внутри vlb ини формат для хранения координат квадратиков (очень похоже на ddp в Delphi7). Это пока для того чтобы не писать строчку присвоить а иметь её в графическом виде. Интересно, что это позволяет натравить генерик на источник данных. Вот бы это увязать как-то с MVC.

Всего записей: 291 | Зарегистр. 16-01-2014 | Отправлено: 23:24 18-02-2015
dix75



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите как безболезненно перейти с RAD 2007 на xe7
 
Ранее года 4 назад пытылся с RAD2007 на RAD2009 не вышло возникли проблемы со строками.

Всего записей: 157 | Зарегистр. 08-12-2005 | Отправлено: 12:19 19-02-2015
Mic777

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

Всего записей: 90 | Зарегистр. 15-12-2005 | Отправлено: 12:27 19-02-2015
dix75



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mic777
Ну на 2007 у меня лицензия была ( в смысле есть)
 
Проект большой и все было на ANSI.
Может быть еще какие-нить подводные камни есть

Всего записей: 157 | Зарегистр. 08-12-2005 | Отправлено: 12:38 19-02-2015 | Исправлено: dix75, 12:39 19-02-2015
Eternal_Shield

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

Цитата:
Подскажите как безболезненно перейти с RAD 2007 на xe7  


Цитата:
Проект большой и все было на ANSI.  
Может быть еще какие-нить подводные камни есть

"Война план покажет" (с)
 
А вам сразу план, без войны, подавай .... Может просто заставить проект скомпилиться под ХЕ7, потестировать трохи и уже отталкиваясь от результатов бороться с конкретными недугами?

Всего записей: 768 | Зарегистр. 18-05-2009 | Отправлено: 14:42 19-02-2015
dix75



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

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

 
Это понятно.
 
 
Добавлено:
Возможно есть возможность использовать (Возможно компонент) икноки png вместо bmp  в RAD2007

Всего записей: 157 | Зарегистр. 08-12-2005 | Отправлено: 15:15 19-02-2015
Mic777

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dix75
Честно сказать как стал работать с компонентами DevExpress даже не задавался вопросом, а действительно есть ли такая возможность так сказать в нативном варианте.
 
Но думаю если и нет, то это не преграда для перехода

Всего записей: 90 | Зарегистр. 15-12-2005 | Отправлено: 15:38 19-02-2015
dix75



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mic777
 
Я не пользуюсь DevExpress.
В нативном под RAD2007 нет. И честно меня достало руками подбирать приемлеммые иконки bmp
 
Это просто кошмар.
 
Сегодня  буду пробовать переходить.

Всего записей: 157 | Зарегистр. 08-12-2005 | Отправлено: 16:01 19-02-2015
Mic777

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dix75
А что мешает PNG конвертить?
Думаю можно много чего по этой теме найти.
Сам пользуюсь __http://www.awicons.com/icon-editor/
сохраняет в различные форматы, удобно дорисовать чего-нить, разные эффекты есть.
 
Посмотри, может поможет...

Всего записей: 90 | Зарегистр. 15-12-2005 | Отправлено: 16:10 19-02-2015
yura371



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопрос к знатокам SQLite:
Я имею три таблицы "Фамилия" и "Имя" и "ФИ".
В первые два введены список фамилий и имен. "ФИ" - пустая.
Вопрос, как сделать чтобы в "ФИ" записались сначала значения с таблицы "Фамилия", а потом с таблицы "Имя".
Т.е.
Фамилия|Имя      | ФИ
Петров   |Петр    | Петров
Иванов   |Иван    | ИВанов
                         | Петр
                         | Иван
 

Всего записей: 20 | Зарегистр. 10-02-2013 | Отправлено: 19:48 19-02-2015
Открыть новую тему     Написать ответ в эту тему

Страницы: 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 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Embarcadero RAD Studio


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru