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

Лидеры

  1. RoschinSpb

    RoschinSpb

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


    • Баллы

      2

    • Постов

      187


  2. Камышев Александр

    Камышев Александр

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


    • Баллы

      2

    • Постов

      235


  3. Равиль Зарипов (ZuBy)

    Равиль Зарипов (ZuBy)

    Модераторы


    • Баллы

      1

    • Постов

      2 517


  4. dnekrasov

    dnekrasov

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


    • Баллы

      1

    • Постов

      317


Популярный контент

Показан контент с высокой репутацией 10.08.2016 во всех областях

  1. Вот окончательный вариант : Project->Make <Имя проекта> Deploy lib<Имя проекта> .so Далее взять apk файл из .\$(Platform)\$(Config)\<Имя проекта>\bin Всем Спасибо !
    1 балл
  2. Project->Build APK будет лежать в папке Android\Debug(либо Release)\<имя>\bin\
    1 балл
  3. Нет, там перестают работать все навороты редактора (кодкомплит, переходы по клику, хэльпинсайд)
    1 балл
  4. если смотреть исходники, то там все наглядно показано как правильно делать uses {$IFDEF MSWINDOWS} FMX.FontGlyphs.Win, {$ENDIF} {$IFDEF MACOS} {$IFNDEF NEXTGEN} FMX.FontGlyphs.Mac, {$ENDIF} {$ENDIF} {$IFDEF IOS} FMX.FontGlyphs.iOS, {$ENDIF} {$IFDEF ANDROID} FMX.FontGlyphs.Android, {$ENDIF} ....; а в проекте мы подключаем только "главный" модуль FMX.FontGlyphs.pas
    1 балл
  5. RoschinSpb

    Нарезка картинки в ImageList

    Обидеть художника каждый может. Не каждый может убежать. При двойном клике на картинке в Selected Image появляется обычный редактор MultiresBitmap, немодальный. Вы можете перемещать прямоугольник и видеть как меняются его координаты, и размеры в масштабе 1. Можно загружать и несколько общих картинок, главное, чтобы все лежало на своих местах с учетом масштабов. Также Вы можете менять координаты и размеры и видеть как перемещается выделенный прямоугольник. Если навести мышь на картинку, то появляются две кнопочки, с помощью которых можно перемещать прямоугольник пошагово (на значение ширины и высоты). Любые изменения сразу же отображаются во всех окошках. Вроде и статьи написаны, и видео выложено, если ни чего не помогает, можно воспользоваться более удобными профессиональными редакторами (напр. Photoshop) и подготовить изображение, где все картинки уложены в свои клеточки. Тогда при добавлении этого изображения оно будет автоматически нарезано на одинаковые прямоугольники.
    1 балл
  6. В случае с андроидом повторный запуск приложения невозможен насколько я знаю. Он активирует ранее запущенный экземпляр приложения. В случае с Windows возможен запуск нескольких копий одного и того же приложения, чего мне необходимо избежать.
    1 балл
  7. dnekrasov

    Убить поток TThread?

    В наследнике TThread объявите FCancelledEvent: TSimpleEvent; Переопределите TerminatedSet; в нем сделайте inherited и FCancelledEvent.SetEvent Ну и вместо Sleep используйте FCancelledEvent.WaitFor После этого Ваша проблема исчезнет
    1 балл
  8. Ответ - никак, нет такого механизма, в винде можно принудительно хэндл потока закрыть, но это тоже заканчивается крахом. метод Terminate только выставляет флаг Terminated и все, по флагу FreeOnTerminate, после отработки потока, т.е. после выхода из процедуры TBufferThread.Execute поток будет удален автоматически. Без необходимости не надо применять потоки, или применять потокозащищенные методы, если уж никак, то работать с ними нужно трепетно: - не использовать засыпающие надолго функции типа Sleep(10000); - в компонентах типа доступа к базам данных, tcp, http и т.п. жестко контролировать таймауты; - не обращаться к компонентам основного потока, особенно к визуальным; - для потоковой защиты использовать TInterlocked, TEvent или TSimpleEvent; - при большом объеме кода, расставлять проверки флага для выхода из цикла if ( Terminated ) break; - дожидаться корректного окончания работы потока.
    1 балл
  9. Проблема решена! Всем спасибо! type TAppearanceObjectsHelper = class helper for TAppearanceObjects function GetParentControl: TControl; property ParentControl: TControl read GetParentControl; end; function TAppearanceObjectsHelper.GetParentControl: TControl; begin Result := OwnerControl; end; Function GetParent(const AListItem: TListViewItem): TListView; begin result := AListItem.Objects.Appearance.ParentControl as TListView; end; И, соответственно, код уважаемого Евгения Корепова претерпевает незначительные изменения: if (Sender is TListViewItem) then begin AListItem := Sender as TListViewItem; if (GetParent(AListItem) is TListView) then AListView:=GetParent(AListItem) as TListView Else Exit; ....
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...