Перейти к содержанию
Fire Monkey от А до Я

Vitaldj

Пользователи
  • Постов

    847
  • Зарегистрирован

  • Посещение

  • Победитель дней

    28

Активность репутации

  1. Like
    Vitaldj отреагировална Greenfield в Медленная загрузка и зависание   
    Приложение зависает при использовании TLinkControlToField, проблему решил используя для вывода списков TLinkFillControllToField.
  2. Like
    Vitaldj отреагировална rareMax в Как уменьшить нагрузку на ЦП?   
    Ну например я смотрю спайдером.
    Допустим я пишу сейчас АПИ для телеграмма. Есть у меня демка. И, например, у меня большая нагрузка на процессор(на самом деле мизерная - 0.1-0.3%). Что бы определить место, где происходит нагрузка - я запускаю демку под профайлером.
    Открываю Code Tracking и смотрю в моем юните(TelegaPI.Bot) на количество вызовов. Ознакомившись с этой сводкой - становится ясно - что больше всего вызовов происходит во время получения обновлений. Обновления от сервера получаю getUpdates. SetIsReceiving -метод, который в другом потоке в цикле проверяет обновления. Так что, если меня не устраивает нагрузка на ЦП - нужно обратить внимание на этот метод(SetIsReceiving, а точнее getUpdates, в котором вся логика работы)
     

  3. Like
    Vitaldj получил реакцию от rareMax в RAD 11 на подходе?   
    Коллеги, может кому будет интересна информация. В фичах Берлина есть упоминания, что приложения в Windows научились распознавать большие DPI. В Wha's New это так написано:
    High DPI Support on Windows
    FireMonkey provides multi-resolution styles for Windows, which provide support for 120 DPI and 144 DPI monitors.
    А выглядит это так:

    Слева форма из Сиэтла, справа форма из Берлина. Код не менялся. Обе запущены на macbook pro с дисплеем ретина (boot camp). 
    Я думаю очень показательно)
  4. Like
    Vitaldj отреагировална krapotkin в Требуется помощь в технологиях   
    секретную, небось
  5. Like
    Vitaldj получил реакцию от Rusland в Требуется помощь в технологиях   
    Я закачиваю через php скрипт, который лежит на сервере.
    код для delphi:
    var  par, path_windows:string; st:Tidmultipartformdatastream; RS: TStringStream ; begin path_windows:=extractfilepath(paramstr(0)); RS := TStringStream.Create(''); st:=Tidmultipartformdatastream.Create;  par:= GetMIMETypeFromFile(path_windows+'\'+ 'имя файла') ;  try  st.AddFile( 'uploadfile',path_windows+'\'+имя файла' , par  );  except      messagedlg('Произошла ошибка. Файл архива не найден. При повторении ошибки, обратитесь к администратору.',mterror,[mbYes],0)  ;      exit;  end;  IdHTTP1.Request.ContentType := st.RequestContentType;  try  IdHTTP1.Post( 'http://'+имя сайта+'/директория на сайте/uploadfile3.php', st , RS); // uploadfile3.php - имя скрипта php  except     messagedlg('Произошла ошибка. Нет соединения с сервером. Это может быть вследствии его отсутствия или при наличии прокси сервера, неверная настройка программы.',mterror,[mbYes],0)  ;    exit;  end;  if  RS.DataString = 'ok' и обработка  
    Код для php:
    <?php if ( copy($_FILES['uploadfile']['tmp_name'],"uploads2/".basename($_FILES['uploadfile']['name']))) print "ok" ; else print "no" ; ?>  
  6. Like
    Vitaldj получил реакцию от rareMax в Требуется помощь в технологиях   
    Я закачиваю через php скрипт, который лежит на сервере.
    код для delphi:
    var  par, path_windows:string; st:Tidmultipartformdatastream; RS: TStringStream ; begin path_windows:=extractfilepath(paramstr(0)); RS := TStringStream.Create(''); st:=Tidmultipartformdatastream.Create;  par:= GetMIMETypeFromFile(path_windows+'\'+ 'имя файла') ;  try  st.AddFile( 'uploadfile',path_windows+'\'+имя файла' , par  );  except      messagedlg('Произошла ошибка. Файл архива не найден. При повторении ошибки, обратитесь к администратору.',mterror,[mbYes],0)  ;      exit;  end;  IdHTTP1.Request.ContentType := st.RequestContentType;  try  IdHTTP1.Post( 'http://'+имя сайта+'/директория на сайте/uploadfile3.php', st , RS); // uploadfile3.php - имя скрипта php  except     messagedlg('Произошла ошибка. Нет соединения с сервером. Это может быть вследствии его отсутствия или при наличии прокси сервера, неверная настройка программы.',mterror,[mbYes],0)  ;    exit;  end;  if  RS.DataString = 'ok' и обработка  
    Код для php:
    <?php if ( copy($_FILES['uploadfile']['tmp_name'],"uploads2/".basename($_FILES['uploadfile']['name']))) print "ok" ; else print "no" ; ?>  
  7. Like
    Vitaldj получил реакцию от zairkz в Всплывающая подсказка   
    согласен)). Просто для полноты ответа привел еще один вариант, платный
  8. Like
    Vitaldj получил реакцию от zairkz в RAD 11 на подходе?   
    Коллеги, может кому будет интересна информация. В фичах Берлина есть упоминания, что приложения в Windows научились распознавать большие DPI. В Wha's New это так написано:
    High DPI Support on Windows
    FireMonkey provides multi-resolution styles for Windows, which provide support for 120 DPI and 144 DPI monitors.
    А выглядит это так:

    Слева форма из Сиэтла, справа форма из Берлина. Код не менялся. Обе запущены на macbook pro с дисплеем ретина (boot camp). 
    Я думаю очень показательно)
  9. Like
    Vitaldj получил реакцию от Kitty в Всплывающая подсказка   
    Ну и самый простой ответ, но самый дорогой, с помощью платных компонентов. У TMS есть TTMSFMXPopup.http://www.tmssoftware.com/site/tmsfmxpack.asp?s=fmxmisc#features
  10. Like
    Vitaldj получил реакцию от Равиль Зарипов (ZuBy) в RAD 11 на подходе?   
    Коллеги, может кому будет интересна информация. В фичах Берлина есть упоминания, что приложения в Windows научились распознавать большие DPI. В Wha's New это так написано:
    High DPI Support on Windows
    FireMonkey provides multi-resolution styles for Windows, which provide support for 120 DPI and 144 DPI monitors.
    А выглядит это так:

    Слева форма из Сиэтла, справа форма из Берлина. Код не менялся. Обе запущены на macbook pro с дисплеем ретина (boot camp). 
    Я думаю очень показательно)
  11. Like
    Vitaldj получил реакцию от Kitty в RAD 11 на подходе?   
    Коллеги, может кому будет интересна информация. В фичах Берлина есть упоминания, что приложения в Windows научились распознавать большие DPI. В Wha's New это так написано:
    High DPI Support on Windows
    FireMonkey provides multi-resolution styles for Windows, which provide support for 120 DPI and 144 DPI monitors.
    А выглядит это так:

    Слева форма из Сиэтла, справа форма из Берлина. Код не менялся. Обе запущены на macbook pro с дисплеем ретина (boot camp). 
    Я думаю очень показательно)
  12. Like
    Vitaldj отреагировална Error в Архитектура FM   
    На Windows два вида канвы: TCanvasGdiPlus и TCustomCanvasD2D, на Mac есть нативная для макоси TCanvasQuartz, как видите не OpenGL-ем единым.
    На Windows есть как минимум один повод использовать D2D - в этой канве используется нативный для системы рендинг текста, в то время как в TGpuCanvas рендинг текста происходит через промежуточные битмапы, что сказывается на производительности.
    D2D, Quartz, GdiPlus - все эти Api созданы как-раз для использования в приложениях, в то время как OpenGL явно не предназначен для этого и не имеет элементарного рендера текста.
    Действительно у меня на 7-ке были актуальные драйвера по дефолту, за одной маленькой проблемой - с софтварным рендингом
    Тут все просто - бросьте на форму TCircle и запустите на телефоне, а потом сравните качество прорисовки круга с Windows. И из-за заточености OpenGL под 3д визуализацию намного лучше и не сделать скорее всего.
    --
    Я наоборот жду когда под мобильными платформами будет использоваться нативное API для графики
  13. Like
    Vitaldj получил реакцию от zairkz в Требуется помощь в технологиях   
    я бы через http)). проверено!
  14. Like
    Vitaldj получил реакцию от zairkz в Быстро разрывается связь   
    Поддерживаю предыдущего оратора!))
  15. Like
    Vitaldj отреагировална krapotkin в Быстро разрывается связь   
    ну так 100500 раз говорено, что не должен телефон напрямик обращаться к базам
    нужен промежуточный сервер, который будет сидеть в базе и слушать запросы с телефона по HTTP
     
  16. Like
    Vitaldj получил реакцию от Andrey Efimov в Tedit фокус   
    Прости меня за непонятливость, но я вообще не врубился что вы написали))). Если хотите помощи, пишите понятнее и прилагайте фото.
  17. Like
    Vitaldj отреагировална Равиль Зарипов (ZuBy) в Вопрос по компонентам   
    TPresentedScrollBox умеет такое, правда размещением компонентов и пересчет позиции компонентов нужно предусмотреть самому.
    Могу завтра скинуть пример, недавно для себя делал
  18. Like
    Vitaldj отреагировална Brovin Yaroslav в Обновление форума   
    Победил сортировку по умолчанию. Теперь для рубрики Вопрос/Ответ по умолчанию используется сортировка по дате публикации.
  19. Like
    Vitaldj отреагировална Brovin Yaroslav в [TTabControl] Как задать иконку у вкладки компонента TTabControl?   
    Картинку можно указать двумя способами:
    Способ 1
    У каждой вкладки TTabControl есть свойство TTabItem.CustomIcon позволяющее загрузить картинку на вкладку.
    Способ 2. С использование TImageList
    Если картинки располагаются в TImageList компоненте, то нужно вначале привязать TImageList к TTabControl.Images. А затем выбрать индекс картинки у вкладки TTabItem.ImageIndex.
  20. Like
    Vitaldj получил реакцию от zairkz в Не отображает иконки приложения   
    Пути Господне не исповедимы! 
  21. Like
    Vitaldj отреагировална krapotkin в Обновление форума   
    блин, имхо, плохое умолчание ((
    и опять имхо же дизайн уж слишком раздольный получился 
    2-3 поста на FullHD - как-то жирно. даже в окне редактора высота строки 300% 
  22. Like
    Vitaldj отреагировална rareMax в [TidTCPClient] В IdTCPClient возникает Max line length exceeded при чтении   
    Для начала - я бы попробовал обновить инди. Та версия, что поставляется с Делфи - немного отстает. Постоянно выходят багфиксы. Скачать последнюю версию можно с помошью SVN клиента(ваш любимый либо встроенный в ИДЕ): https://svn.atozed.com:444/svn/Indy10  Имя:  Indy-Public-RO пароль пустой оставь
  23. Like
    Vitaldj отреагировална Рагим в Проблема с воспроизведением wav   
    Заменил процедуру воспроизведения звука на эту:
     
    uses
    MMSystem;
     
    procedure playsound; begin  sndPlaySound(Pchar('ringin.wav'), SND_NODEFAULT Or SND_ASYNC); end;   Проблема устранена.
  24. Like
    Vitaldj отреагировална Brovin Yaroslav в Разное поведение при Release и Debug   
    Если вы используете Deployment Manager, то возможно вы забыли добавить файлы для релиз конфигурации.
  25. Like
    Vitaldj отреагировална Alex7wrt в как отловить перемещение формы по экрану, Windows   
    После долгого поиска все-таки нашел тему на этом же форуме )). Хотя раньше искал, но не находил.
    Тема: http://fire-monkey.ru/topic/1452-kak-poimat-peremeschenie-formy/
     
    Суть решения - необходимо перекрыть виртуальный метод формы SetBounds, который выполняется каждый раз при перемещении формы
    procedure TCommonCustomForm.SetBounds(ALeft, ATop, AWidth, AHeight: Integer); virtual; Для этого в описании методов формы пишем
    type TForm1 = class(TForm) ........ procedure SetBounds(ALeft, ATop, AWidth, AHeight: integer); override; ....... end; и в теле процедуры выполняем необходимые действия
    procedure TForm1.SetBounds(ALeft, ATop, AWidth, AHeight: integer); begin  inherited; if assigned(form2) then begin form2.Left:=ALeft; form2.top:=ATop; end; end; В данном случае - присвоение второй форме координат первой.
×
×
  • Создать...