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

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

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

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
d3adb33f



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Сколько весит скомпилированный в рио экзешник где просто пустая форма ?

Всего записей: 564 | Зарегистр. 08-10-2015 | Отправлено: 06:06 06-12-2018
Sulphide

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
d3adb33f
Release x64 - 3758592
Release x32 - 2350080  
байт
А вообще от uses зависит. Но по дефолту так.

Всего записей: 277 | Зарегистр. 20-03-2008 | Отправлено: 06:15 06-12-2018
d3adb33f



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

Всего записей: 564 | Зарегистр. 08-10-2015 | Отправлено: 07:19 06-12-2018
Sulphide

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Мне как-то более удобным показался TBitmap из fmx, я его начал включать в Uses в проектах под vcl, у меня сразу метров на 15 екзешник подрастал)

Всего записей: 277 | Зарегистр. 20-03-2008 | Отправлено: 12:47 06-12-2018
Zatupitel



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

Цитата:
Сколько весит скомпилированный в рио экзешник где просто пустая форма ?

 
Это уже как первая программа "Hello World!".

Всего записей: 469 | Зарегистр. 31-08-2006 | Отправлено: 14:14 06-12-2018
Sulphide

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ну здесь больше оценивается вес VCL + RTL библиотек на самом деле, от компилятора идут копейки, если любая из этих библ подрастет, улучшится, то и размер увеличится. Особого смысла сравнивать разные версии дельфи по этому параметру нет. Можно сравнивать, но без этих библиотек, чистый WinAPI.
 
Так и не поправили:
 
SomeTask.Cancel;
SomeTask.Wait(); - как был эксепшн так и остался (operation canceled)
 
По логике после моего Cancel, поток должен собрать монатки и выйти, соответственно его TTaskStatus должен смениться на Finished, ну как минимум, и тогда можно было бы после Cancel либо проверить, а не Finished ли Task... Или подождать с таймаутом, в итоге ни так ни так не работает. И опять приходится городить костыли типа  
SomeTask.Cancel;
sleep(100);
 
Мож я че опять не так делаю?!)
 
 
ps У кого есть возможность проверьте в голом проекте VCL, с любой включенной темой оформления,на мониторах более 96dpi с масштабированием 150% заголовки форм имеют очень крупный текст, он даже не влезает в кепшн формы по высоте.

Всего записей: 277 | Зарегистр. 20-03-2008 | Отправлено: 17:33 06-12-2018 | Исправлено: Sulphide, 03:33 07-12-2018
DKUniSoft

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день.
 
Подкскажите пожалуйста, как класс можно использовать не создавая объектную переменную:
 
:
for i in TArray<Integer>.Create(2, 4, 8, 16) do
   WriteLn(i);
 
//write 2 4 8 16
 
TArray<T> is a generic type, so the same technique works also for strings:
 
for s in TArray<String>.Create('Hello','Delphi','World') do
   WriteLn(s);
 
Никак не понимаю, в каких случаях это возможно. А паямь освобождается автоматически?

Всего записей: 89 | Зарегистр. 05-10-2007 | Отправлено: 13:17 10-12-2018
zedxxx

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Это динамический массив, с автоматическим временем жизни. И тут Create это не столько конструктор объекта, а скорее функция-инициализатор массива заданными значениями.
 
http://docwiki.embarcadero.com/RADStudio/Rio/en/Structured_Types_(Delphi)#Dynamic_Arrays

Всего записей: 1505 | Зарегистр. 14-07-2008 | Отправлено: 13:32 10-12-2018 | Исправлено: zedxxx, 13:38 10-12-2018
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DKUniSoft
В вашем примере действительно массивы а не классы, но с классами так тоже можно потому, что конструктор класса - это фактически функция, которая возвращает указатель на созданный объект. Поэтому можно делать так:

Код:
with TMyform.Create do
begin
  ShowModal;
  Free;
end;

Если удалять объект самому не охота, то можно использовать трюк с интерфейсами: https://stackoverflow.com/a/418206/217909
А поддержка цикла for in реализуется так: Enumerating and the for…in Loop.

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 14:06 10-12-2018
DKUniSoft

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Frodo_Torbins
 
Спасибо огромное
 
Добавлено:
Еще один вопрос. Из документации:
 
Class that contains static methods for searching and sorting a generic array.  
 
TArray is a class that provides static methods to search and sort a generic array.  
 
Note: You should not create instances of this class, because its only purpose is to provide sort and search static methods.  
 
Всё таки TArray класс, но экземпляр класса не надо создавать?

Всего записей: 89 | Зарегистр. 05-10-2007 | Отправлено: 14:25 10-12-2018
zedxxx

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не путайте TArray<T> (массив) и TArray (класс).
 
TArray<T> объявлен в System.pas:

Код:
TArray<T> = array of T;

 
а класс TArray объявлен в System.Generics.Collections и состоит только из статических методов, которые принимают на вход TArray<T> и совершают над ним некоторые операции (Sort, BinarySearch и Copy). По сути, это набор функций объединённый пространством имён.
 

Код:
  TArray = class
  private
    class procedure QuickSort<T>(var Values: array of T; const Comparer: IComparer<T>;
      L, R: Integer); static;
    class procedure CheckArrays(Source, Destination: Pointer; SourceIndex, SourceLength, DestIndex, DestLength, Count: NativeInt); static;
  public
    class procedure Sort<T>(var Values: array of T); overload; static;
    class procedure Sort<T>(var Values: array of T; const Comparer: IComparer<T>); overload; static;
    class procedure Sort<T>(var Values: array of T;
      const Comparer: IComparer<T>; Index, Count: Integer); overload; static;
 
    class function BinarySearch<T>(const Values: array of T; const Item: T;
      out FoundIndex: Integer; const Comparer: IComparer<T>;
      Index, Count: Integer): Boolean; overload; static;
    class function BinarySearch<T>(const Values: array of T; const Item: T;
      out FoundIndex: Integer; const Comparer: IComparer<T>): Boolean; overload; static;
    class function BinarySearch<T>(const Values: array of T; const Item: T;
      out FoundIndex: Integer): Boolean; overload; static; static;
 
    class procedure Copy<T>(const Source: array of T; var Destination: array of T; SourceIndex, DestIndex, Count: NativeInt); overload; static;
    class procedure Copy<T>(const Source: array of T; var Destination: array of T; Count: NativeInt); overload; static;
  end;

Всего записей: 1505 | Зарегистр. 14-07-2008 | Отправлено: 14:42 10-12-2018
DKUniSoft

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

Всего записей: 89 | Зарегистр. 05-10-2007 | Отправлено: 14:47 10-12-2018
Alexey_Gawrilow



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Дмитрий Кузьменко здесь есть?
Embarcadero > Borland > Epsylon
 
Кому отошли права на Baikonur Web Application Server и Taxxi?
Стюардессу закопали?
 
Вот такая чумовая штука была еще в 1996-9 гг.
Намного опередила время.

Всего записей: 640 | Зарегистр. 08-09-2003 | Отправлено: 11:07 11-12-2018
vicontfreetime

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Что-то не допилили в IDE товарищи из Embarcadero в 10.3. К примеру, inline vars нормально компилируются, но IDE подсвечивает их, как ошибки (примерно так же, как использование begin ... end внутри вызова процедуры и т.п.)

Всего записей: 377 | Зарегистр. 22-04-2002 | Отправлено: 12:29 12-12-2018
vicontfreetime

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

Всего записей: 377 | Зарегистр. 22-04-2002 | Отправлено: 10:51 16-12-2018
Zatupitel



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vicontfreetime
Давно как-то этим интересовался, нашел это https://www.gnostice.com/PDFtoolkit_VCL.asp

Всего записей: 469 | Зарегистр. 31-08-2006 | Отправлено: 13:33 18-12-2018
d3adb33f



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vicontfreetime
 
а я за https://www.loslab.com/HotPDF.html  

Всего записей: 564 | Зарегистр. 08-10-2015 | Отправлено: 15:22 18-12-2018
Sulphide

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ещё раз задам вопрос... В 10.3 у всех шрифт заголовка окна при DPI больше чем 96 имеет гигантский размер со включенными темами (VCL) оформления? Или это у меня чего-то не так установилось?

Всего записей: 277 | Зарегистр. 20-03-2008 | Отправлено: 17:00 23-12-2018
zedxxx

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sulphide
Вы про саму IDE или собранные программы? У меня и там и там всё нормально (dpi 105). Правда, темы в приложениях не использую.

Всего записей: 1505 | Зарегистр. 14-07-2008 | Отправлено: 21:01 23-12-2018
Sulphide

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zedxxx
Без тем всё и будет нормально. Я про собранные приложения с галочкой рантайм-темы, манифестом DPI Aware v2 или v1 без разницы и любой выбранной темой (кроме Win 10 тем. Можно поставить Charcoal Dark Slate или Carbon), посмотрите пожалуйста, если не сложно.
Причем, что интересно теперь, в отличии от 10.2 сам заголовок тоже масштабируется по высоте, правда есть вот такой вот "баг" шрифт заголовка огромный, к тому же похоже еще и жирный (upd не жирный просто Tahoma при 24м размере так выглядит, когда перейдут на Segoe UI - не понятно...), даже нижние элементы символов обрезаются. У меня 4к монитор я использую 150% увеличение в винде.
 
зы сейчас проверил 100% и 125% увеличение в винде - там всё ок со шрифтами заголовка. Даже похоже, что и не меняется ничего. А вот если поставить 150%, то сразу шрифт огромный становится.
 
зыы в StyleAPI.inc (Program Files (x86)\Embarcadero\Studio\20.0\source\vcl\)
вот тут:
 
procedure TSeStyle.WindowDrawText(....
...
        if DPI <> 0 then
          StyleObject.Font.Height := MulDiv(StyleObject.Font.Height, DPI, 96);
 
у меня получается 24ый !!! шрифт для заголовка. Хотя должен остаться 16ый для заголовка окна при 144dpi пусть даже с увеличением.  
 
зыыы Создал репорт на багтрекере эмбы. И я кажется начал понимать почему у них столько проблем с HIDPI... Потому что у их разработчиков нет 4k мониторов до сих пор... Тоесть они внедряют поддержку HIDPI без HIDPI оборудования... Браво!
 
зыыыы Разобрался, надо было просто скопировать в папку проекта вот эти файлы и там уже править...
 
StyleAPI.inc
StyleUtils.inc
Vcl.Styles.pas
 
Просто закомментить вышеобозначенное условие полностью.
Есть ещё такая проблема - если проект использует vcl в dynamic bpl, соответственно этот фикс там работать не будет... Кто-нибудь пересобирал VCL? Как делать?

Всего записей: 277 | Зарегистр. 20-03-2008 | Отправлено: 21:33 23-12-2018 | Исправлено: Sulphide, 03:00 24-12-2018
Открыть новую тему     Написать ответ в эту тему

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

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