Janex72

Пользователи
  • Публикаций

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

  • Посещение

Весь контент Janex72

  1. Привет всем. Искал как в FMX Linux-e определить координаты миши если курсор за пределами апликации, нашёл такое: function MousePos: TPointF; var MouseService: IFMXMouseService; begin if TPlatformServices.Current.SupportsPlatformService(IFMXMouseService, IInterface(MouseService)) then Exit(MouseService.GetMousePos); Result := PointF(0, 0); end; всё работает, даже под Linux-ом, но шас нужно ешё определить нажата ли какая то клавиша миши, и тоже если курсор за пределами апликации ... Есть идеи как ??? WBR Janex
  2. Janex72

    Python 4 Delph

    Мне задачи по сложнее. Надо не просто запускать готовые скрипти, а чтоб юзер сам мог их писать для апликации, на пример, при запуске какого то юзерского скрипта передаётся в нём (в скриптовую функцию, на пример) какие то параметри, скрипт обрабатывает данные и взаимодеиствует с контролями на форме. На пример, запускается скрипт, где в параметр передаётся XML, в скрипте он обрабатывается и на форме высвечиваются результати в выде, на пример, Gauge, Progressbar, или заливаются текст в TMemo итд. И контролы тоже не вшиты в екзешник в дизаинтаиме, их юзер в рантаиме сам дизаинит и ставит что надо ... Ето как бы примитивная дельфовская IDE но только на питоне ... В "Python 4 Delphi" ето вроде всё можно, но нехватает ума перевести чтоб в дельфе под линукс он компилился, а то под линукс он предусмотрен только для FPC
  3. Janex72

    Python 4 Delph

    Привет всем. Прокопал весь интернет в поисках чего то чем внедрить Python в мою апликацию написаную на Delphi. Нашёл "Python 4 Delphi", под wинду компилится и работает, но мне надо как раз под Linux (Delphi 10.2). Самому подпилить под fmx неудаётся как то Неужели етот "Python 4 Delphi" единственныи в природе для связки дельфи с питоном ?? WBR Janex
  4. Janex72

    Глюк с TCollection

    Привет всем. Сделал компонент, в нём своиство/обект типа TPersistent, а на нём колекция (TCollection) ... Изначально натклнулся, что в дизаинтаиме в обект инспекторе неоткривался редактор где TCollectionitem-и делаются, искал, гуглил, нашёл решение здесь (код по середине): https://stackoverflow.com/questions/6980401/collection-editor-does-not-open-for-a-tcollection-property-in-a-tpersistent-prop Всё работает, в колекцие на пример 5 елементов, но вот если скомпилю под wинду то: Mycomponent.MyPersistentproperty.MyCollection паказывает правильно - 5, а если всё то же скомпилю под андроид, то всегда в любом случаес показывает 1 (!!!) Тоесть всегда одан кокая то пустая колекция, хоть убеися ... Тут под андроид какие то глюки или чё то другое ? WBR Janex
  5. Привет всем. Надо мне создать свои Scope - незнаю как по русски он называется Как пример брал TTMSFMXScope - етот типо TChart но сами линии по таимеру передвигаются с право на лево. Готовых компонентов для етого мало (TMS, TeeChart, больше ненашёл), компонент от TMS слишком медlеленныи, мне нужен тупои квадрат в котором двигались отрисованые линии с скоростю как минимум 10 кадров в секунду и отрисовка занимало самое минимальное возможное время, а то на форме ето будет не единственное что будет отрисовыватся... Ну кароч, решил ето делать на TPaintbox-е рисуя линии с DrawLine. Но возникает вопрос - будет ли ето самыи быстрии способ ето сделать, мож есть какие то другие методы? Мож рисовать сперва на TBitmap-е и потом его кидать на канвy? Есть идеи что использовать чтоб достич максимальную возможную скорость отрисовки ? WBR Janex
  6. Хммм, да, вроде пашет ... я через dataset дёргал его, наверно изза етого ...
  7. Будем пробовать ... Но вопрос то другои - рисовать на канве с DrawLine самыи быстрии способ ? Подозреваю, что, если, на пример, захочу мультик показывать на канве (сотни всяких draw) с 25fps то врятли канва ето потянет ... Может бить для супер скорости вообше другои подход нужен ?
  8. Приходится каждыи раз перерисовывать весь график. При приходе новых данных, весь графих сдвигается в лево и в конце (с право) рисуется новая точка. Все точки соедены с Line...
  9. Так сделал уже, рисуется, вроде даже быстро... Но мне нужно построить график, как уже писал, которыи будет менятся/перерисовыватся 10 или чаше раз в секунду, и из етого вопрос - рисовать на канве линии с DrawLine будет самыи быстрыи метод или ето каким то другим способом лучше делать ?
  10. Атбои ... Часами искал где что нехватает и надобыло только тут написать, как сразу сам нашёл где грабли Надо было только одну строчку добавить, как всё стало на свои места: FFrame.Stored := False;
  11. Привет всем. Надо создать простой компонент который содержал бы фрейм, на VCL много лет такие делал, всё работало, а тут что то не так ... Вот код: Type TxdfScope = Class(TStyledControl) Private FFrame :TmyFrame; Public Constructor Create(Owner :TComponent); Override; Published End; Constructor TxdfScope.Create(Owner :TComponent); Begin Inherited Create(Owner); FFrame := TmyFrame.Create(Self); FFrame.Parent := Self; FFrame.Align := TAlignLayout.Client; SetAcceptsControls(False); End; На фрейме один TButton; Всё вроде как бы правильно, компилится итд. Кидаю компонент на форму - прекрасно, всё как хочется. Сохраняю, открываю заново и получаю AV и т.д. Смотрю в соурс форм и вижу, что видны всё внутренности компонента: object xdfScope1: TxdfScope object TmyFrame Align = Client Size.Width = 200.000000000000000000 Size.Height = 100.000000000000000000 Size.PlatformDefault = False object Button1: TButton Position.X = 32.000000000000000000 Position.Y = 32.000000000000000000 TabOrder = 0 Text = 'Button1' end end end Чувствую что что то не хватает чтоб вёл он себя как нормальный компонент ... WBR Janex
  12. Ешё проблемы с TTextSettings; Делаю свои компонент, хочу в него добавить TTextSettings. Смотрел всякие примеры, но у меня почему то он в Oбject Inspector-е неразвёртвовается, тоесть, клиекая на +/- стоит в однои строке. Код примерно такои: TxdfLabel = Class(TControl) Private FTextSettings :TTextSettings; Procedure SetTextSettings(const Value: TTextSettings); Public Constructor Create(AOwner: TComponent); Override; Published Property TextSettings :TTextSettings Read FTextSettings Write SetTextSettings; End; Constructor TxdfLabel.Create(AOwner: TComponent); begin Inherited Create(AOwner); FTextSettings := TTextSettings.Create(Nil); End; procedure TxdfLabel.SetTextSettings(const Value: TTextSettings); begin FTextSettings.Assign(Value); End; Немогу понять где грабли ... WBR Janex
  13. mmover, спасибо, то что надо ...
  14. Спасибо, но тут он сылается на ТEdit у которого есть своиство TTextSettings : function TZMaterialEdit.GetTextSettings: TTextSettings; begin Result := FEdit.TextSettings; end; Но у меня свои пустои компонент которыи НЕ наслседовает другои компонент с своиством TTextSettings, и внутри тоже никого с готовым своиством TTextSettings Хотел прикрутить его для моих нужд... обект TTextSettings создаётся и доступен, вот только в дизаинтаиме он в Oбject Inspector-е почему то неразвёртвовается
  15. Janex72

    Delphi + Android тормоза

    Привет всем. Сделал маленькую апликацию для Андроида. Апликация принимает данные через BlueToothLE и на на двух TLabel показывает цифорки ... Обём данных маленькии, одна посылка около 20 баитов. Если данны приходит с интервалом 100 мс, то TLabel-а ешё успевают отобразить информацию, а если интервал уменьшить, то приходит копец Данные заливаются в буффер BlueTooth-а и TLabel-а неуспевают их показать, тоесть, можем послать данные, скажем, пол минуты, потом даже отрубить BlueTooth посылаюшее их и данные на TLabel-а ешё минуту мигают - отображаются ... Поставил ешё Gauge от TMS Components - там тормоза вообше ужас, если 2 цифри за секунду отобразить на циферблате, то ето уже предел ... Шас немогу понять - телефон у меня тормознутыи какои то (CAT-S30, новыи, незагруженыи) или всётаки FMX контролы работают так ужасно медленно ... WBR Janex
  16. Janex72

    Delphi + Android тормоза

    Да, вы правы, 10 раз в секунду менять значение излышно, но смушает скорость отображения ... Если мне на форме будет, на пример, 50 лабелов и каждыи меняет текст раз в секунду, то каждому лабелу свои поток делать, что ли ? А то обновить за секунду 50 лабелов качется невозможно ...
  17. Janex72

    Редактор форм

    Привет всем. У LMD и TMS Components есть скриптери и соответственно восможность в рантаиме редактировать формы, тоесть кидать на форму контролы итд, и property editor где у контролов своиство посмотреть/поменять. Но ето всё под VCL а мне надо редактировать форми в рантаиме в FMX. Есть что то такое в природе, тоесть как бы в готовых компонентах, если нет, то реально такое создать для FMX-а ? WBR Janex
  18. Janex72

    Редактор форм

    Создовать то просто, но ешё надо визуально их редактировать, типо как в IDE дельфах - кликнул на конктроль и появляются вокруг её 6 точек и можеш шас растягывать её, мышкои передвигать по форме итд ... вот что мне надо для FMX форм ...
  19. Привет всем! Задача в кратце токая - в рантаиме создаю, например, 10 фреимов, на каждом по TImageControl, и на каждом фреиме запускаю отдельныи поток где загружается картинка в битмап и дальше уже в TImageControl. Облом получил при загрузки фаила в битмап. Обясняли мне, что битмапи в FMX не Thread Safe. Хотя непонемаю при чём тут Thread Safe а то создаю ведь 10 отдельных екземпляров битмапов, непитаюсь ведь из разных потаках обрашатся к одному и тому же битмапу ... но ок, хрен сними .. Задумался что мож задачу не так поставил. Мне надо ведь просто показать тумбнаил картинки на фреиме, а мож там битмап и не нужен ? В TStream картинка читается в потоке нормально.. мож есть какои то способ её шас отрисовать на Canvas ? Где то упоминалось что надо юзать TStream и TBitmapsurface, что ето будет работать в потоках. Пример как TBitmapsurface отобразить на канве нашёл, но как картинку запихнуть в етот TBitmapsurface (без обрашения к битмапу, ге получаю AV или Out of memory) опять таки немогу понять Целевая задача построить просмотршик фоток на подобие как в дефолтовои камере где пальцом крутиш тумбнаили в лево/в право. Проблема в том что они загружются достаточно долго и прокрутка слишком тормозит ... шас ишу способ загрузить и отобразить тумбнаили как то в отдельных потоках ... WBR Janex