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

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

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

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, 18:58 18-03-2022
ZloyBrawler



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
KDPoid
У меня в организации, да как и у многих других стоит тонкий клиент 1С и подключаются все через него к порталу поставщика НИАЭП.
Вот там прикольный подход.  
В 16:00 отрубаются все клиенты поголовно, и до следующего утра, пофигу, что кто-то еще вносил отгрузочную документацию и разную конструкторскую документацию.

Всего записей: 514 | Зарегистр. 19-10-2010 | Отправлено: 10:41 12-03-2016
Yarynich

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

Всего записей: 38 | Зарегистр. 19-12-2005 | Отправлено: 14:18 12-03-2016
zealotfan



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
3 страницы назад мне советовал abyss79 для уменьшения размера размера exe добавить после program:
{$WEAKLINKRTTI ON}
{$RTTI EXPLICIT METHODS([]) FIELDS([]) PROPERTIES([])}  
Сегодня я переписывал форму импорта и при тестировании был поражен очень медленной скоростью этого самого импорта. Как только убрал эти 2 строчки из кода всё заработало как положено.

Всего записей: 234 | Зарегистр. 25-02-2016 | Отправлено: 14:57 14-03-2016
abyss79

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zealotfan
 
А что у вас там такое делается? Эти директивы отключают генерацию доп инфы RTTI, что убирает некоторые возможности для манипулирования объектами, но это не должно сказываться на скорости.
Я везде этот код использую и никогда не было проблем со скоростью.

Всего записей: 77 | Зарегистр. 23-11-2007 | Отправлено: 15:01 14-03-2016
zealotfan



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
abyss79
Открывается DBF-ка через ADO, подключается к grideh и каждая строка в TADOQuery перебирается в цикле и записывается в базу(firebird).

Всего записей: 234 | Зарегистр. 25-02-2016 | Отправлено: 15:08 14-03-2016
abyss79

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zealotfan
 
Глянул и ADO, вроде, не использует RTTI. Может, просто совпало и причина в другом была, хотя GridEx у меня нет глянуть.

Всего записей: 77 | Зарегистр. 23-11-2007 | Отправлено: 15:17 14-03-2016
zealotfan



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
abyss79
Можно на обычном DBGrid попробовать смысл не меняется. Именно эти две строчки тормозят импорт.

Всего записей: 234 | Зарегистр. 25-02-2016 | Отправлено: 09:58 16-03-2016
funnyman

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zealotfan
А убрать из второй стоки FIELDS([]) не пробовал?

Всего записей: 106 | Зарегистр. 08-01-2003 | Отправлено: 10:07 16-03-2016
zealotfan



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
funnyman
Пробовал. На скорость никак не повлияло. Как и если полностью вторую строку убрать.

Всего записей: 234 | Зарегистр. 25-02-2016 | Отправлено: 11:34 16-03-2016
abyss79

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zealotfan
я правильно вас понял, что если сделать так, то у вас всё нормально становится?
 
{$WEAKLINKRTTI ON}
{$RTTI EXPLICIT METHODS([]) PROPERTIES([])}

Всего записей: 77 | Зарегистр. 23-11-2007 | Отправлено: 11:51 16-03-2016
zealotfan



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
abyss79
Нет. При таком раскладе, что вы написали скорость такая же медленная как и в случае:
{$WEAKLINKRTTI ON}  
{$RTTI EXPLICIT METHODS([]) FIELDS([]) PROPERTIES([])}
А убрав только обе строчки скорость очень быстрая.  

Всего записей: 234 | Зарегистр. 25-02-2016 | Отправлено: 11:59 16-03-2016
abyss79

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zealotfan
аа, перечитал и понял что скорее первая строка гадит, она вырезает часть методов, которые явно не используются, но видать в вашем случае что-то таки динамически используется.

Всего записей: 77 | Зарегистр. 23-11-2007 | Отправлено: 12:03 16-03-2016
zealotfan



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
abyss79
Вот кусок самого импорта:
Importfrm.SQLIMPORT.Transaction.StartTransaction;
while (Importfrm.ADOSQL.Eof=false) do
begin
  synchronize(SetProgress);////////Это для обновления gauge  
  Importfrm.SQLIMPORT.Active:=false;
  Importfrm.SQLIMPORT.ParamByName('THEMONTH').AsInteger:=TheMonth;
  Importfrm.SQLIMPORT.ParamByName('THEYEAR').AsInteger:=TheYear;Importfrm.SQLIMPORT.ParamByName('ID').AsLargeInt:=Importfrm.ADOSQL.fieldByName('id').AsLargeInt;
  ...............
   Importfrm.SQLIMPORT.Active:=true;  
   Importfrm.ADOSQL.Next;
end;
synchronize(ClearProgress);///////////Очистка gauge
Importfrm.SQLIMPORT.Transaction.Commit;

Всего записей: 234 | Зарегистр. 25-02-2016 | Отправлено: 12:57 16-03-2016
SolidSnakeRU

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А что за заморочки с вырезанием из EXE всего и вся?
Просто ради эстетики? Давно не вижу смысла в этом.
На крайний случай можно аспаком ехе ужать или в инсталлятор положить или вынести часто изменяемый код в длл или использовать _обновление по принципу дифференса в файлах.
 
Что касается тонкого клиента, можно к любому обращению к БД из тонкого клиента добавлять проверку версии БД (можно хранить в отдельной таблице). Если в какой-то момент произойдет обновление структуры БД при открытом клиенте, то при попытке выполнить SQL запрос, получится определить изменение структуры БД. Адекватный результат - структура, где есть текст говорящий о том, что БД не поддерживается и код для обработки результата, поможет с обработкой ситуации.
В довесок, для форм с большим количеством вводимых данных, можно реализовать сериализуемость, чтобы после перезапуска новой версии клиента можно было восстановить введенные (но еще не отправленные в БД) данные по максимуму.

Всего записей: 248 | Зарегистр. 27-08-2008 | Отправлено: 23:30 16-03-2016 | Исправлено: SolidSnakeRU, 23:45 16-03-2016
abyss79

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SolidSnakeRU
ну вот AsPack точно плохая идея, и антивирусы и больше память жрёт, а реально ничего не решает, т.к. размер важен только при загрузке, где или сетап сам по себе хорошо сжимает или тот же 7z можно взять при обновлениях.
А вот чуть уменьшить размер парой строк стоит того, просто вот в конкретном случае нарисовалась проблема.

Всего записей: 77 | Зарегистр. 23-11-2007 | Отправлено: 23:36 16-03-2016
SolidSnakeRU

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
abyss79
Главное, чтобы программа работала на всех машинах под любой ОС, если вырезаемый код не мешает этому, прекрасно. Но такой подход требует исследования. И в зависимости от объема вырезанного кода, шанс получить неожиданные баги на ограниченном числе машин становится выше. Отлаживать такое не очень приятно.  
Просто почистить USES - полезно и надо, но дальше...
Куда правильнее (ИМХО) организовать структуру приложения так, чтобы изменяемая часть была отдельно и посылать её пожатой в 7z.

Всего записей: 248 | Зарегистр. 27-08-2008 | Отправлено: 23:53 16-03-2016 | Исправлено: SolidSnakeRU, 23:54 16-03-2016
abyss79

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SolidSnakeRU
Согласен, до сего момента никаких проблем не было при использовании во множестве проектов.
 
zealotfan
7z реально хороший вариант, используем в одном нагруженном проекте и проблем не обнаружено при отличном сжатии и нормальной интеграции с Delphi, надо просто 1 раз dll загрузить.

Всего записей: 77 | Зарегистр. 23-11-2007 | Отправлено: 23:57 16-03-2016
zealotfan



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
abyss79
Я решил пользоваться пока upx-ом. Негативных побочных действий пока не обнаружено

Всего записей: 234 | Зарегистр. 25-02-2016 | Отправлено: 10:44 17-03-2016
abyss79

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zealotfan
все эти AsPack и Upx могут вполне сглючить, ведь они ничего не знают об кодогенерации конкретного компилера.
Сам использовал AsProtect когда-то, там конечно делается много больше чем в просто AsPack, но эпизодически проги падали и приходилось после каждого наложения плотно тестировать.
А 7z не имеет минусов от слова совсем.

Всего записей: 77 | Зарегистр. 23-11-2007 | Отправлено: 15:29 17-03-2016
zealotfan



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
abyss79
При использовании upx скорость импорта тоже падает. Я в замешательстве. Поясните по поводу 7z. Я кидаю заархивированный exe на сервер. Клиент его скачивает в папку и разархивирует?

Всего записей: 234 | Зарегистр. 25-02-2016 | Отправлено: 15:43 17-03-2016
Открыть новую тему     Написать ответ в эту тему

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

Компьютерный форум 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