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

BurcevD

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

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

  • Посещение

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

  1. Все, сорри все работает, просто забыл прописать пути к компонентам, под iOS Device 64 bit.
  2. Добрый день, не подскажете такой вопрос: при компиляции под 32 битный iOS device все проходит нормально, при компялции на 64 битное устройство - пишет что модуль FGX.VirtualKeyboard не найден.
  3. К сожалению нет нужного Framwork для SDK 6.1
  4. Добрый день, подскажите пожалуйста: имеется тестовое приложение, которое нормально компилируется под windows, android и IOS simulator (SDK 6.1). При попытке компиляции на устройство iPad 2 высвечивается следующая ошибка [DCC Error] E2597 ld: file not found: /System/Library/Frameworks/MapKit.framework/MapKit P.S. использую MacBook с Mac OS X версии 10.7.5 (выше не обновляется) XCode - 4.6.3 (выше не ставится из-за версии OS) максимальный SDK 6.1 (6.3 - ставил, но он глючил) Я думаю, что скорее всего дело в версии SDK, но как поставить выше не имею понятия, т.к. в работе использовал только OS "Window". Что делать?
  5. Спасибо за разъяснения. Я понимаю что такое серилизация, мне просто интересно как вы храните поля объектного типа. P.S. Особенно спасибо за ссылку, автор довольно понятно разъясняет что к чему.
  6. спасибо за ссылку А подскажите, если у вас в качестве свойства объект, он тоже серилизуется в строку или создается в момент обращения к нужному свойству?
  7. Спасибо за ответ, а можно Вас попросить скинуть пример реализации. К моему стыду я так и не разобрался как практически работает DataSnap, немного теории знаю, но вот углублено не изучал, буду рад, если дадите пару ссылок на эту тему
  8. Добрый день, Подскажите пожалуйста найти решение следующей задачи: Хотелось бы реализовать технологию объектно-ориентированной БД + использование трехзвенной архитектуры. 1 Часть более-менее реализована, если кратко, то имеется базовый класс объекта, который при наследовании меняется под нужный класс с указанием имени таблицы, а также списка полей (в области published). Этот объект умеет создавать новую запись в таблице, считывать имеющуюся (по уникальному ключевому полю), производить редактирование и удаление записи. Хотелось бы узнать существует ли технология, при которой эти объекты будут создаваться (считываться) на сервере приложений, а конечному приложению будет передаваться сам объект? А также каким способом лучше реализовать свойства, которые будут возвращать в качестве результата другие объекты, т.е. имеется два объекта Человек, и Подразделение. В объекте Человек имеются свойства (ФИО = Иванов И.И., Возраст = 21, Код подразделения = 2) и есть объект Подразделение №2 (Код подразделения = 2, Наименование подразделения = Администрация), хотелось бы иметь что-то вроде property Podrazdelenie: TPodrazdelenie read GetPodrazdelenie; ... function <Tsome>.GetPodrazdelenie : TPodrazdelenie; begin Result := TPodrazdelenie.Create(Код подразделения); end; Естественно, что все объекты будут считываться из сервера приложений.
  9. BurcevD

    Вроде как ошибка!

    Уважаемые разработчики! Хочу обратить Ваше внимание на следующие коды, в модуле FMX.ListView.Types строка 1530 if ImageSource = TImageSource.ImageList then Bitmap := Images.Bitmap(TSizeF(TPointF(FLocalRect.Size) * Canvas.Scale), FImageIndex) else Bitmap := GetBitmap; ... далее текст работы с Bitmap В то же время ImageSource может иметь 3 значения: 1481 строка function TListItemImage.GetImageSource: TImageSource; begin if (FImageIndex <> -1) and (Images <> nil) and Images.BitmapExists(ImageIndex) then FImageSource := TImageSource.ImageList else if GetBitmap <> nil then FImageSource := TImageSource.Bitmap else FImageSource := TImageSource.None; Result := FImageSource; end; И если Bitmap из прошлого кода равен nil, то происходит ошибка. Следует либо обработать третьего состояния либо обработать bitmap на nil. Спасибо
  10. Нашел описания поведения приложения в iOS. Все дело в том, что в реальности на iPad приложение не завершается, а переходит в спящий режим. Поэтому как такого закрытия приложения нет, его можно завершить ТОЛЬКО АВАРИЙНО.
  11. Сделал такую функцию function TempPath : String; begin {$IFDEF IOS} Result := TPath.GetLibraryPath+TPath.DirectorySeparatorChar; {$ELSE} Result := TPath.GetPublicPath+TPath.DirectorySeparatorChar; {$ENDIF} end; ну и соответственно прибавляю имя файла + расширение, т.е TempPath+<SomeName>+'.'+<Ext>
  12. Добрый день, ситуация такая: есть БД, в которой хранятся различные файлы, с расширением. Требуется открыть файлы в соответствующей программе (т.е. изображения в галлереи, PDF - соответствующей программой и т.д.). файлы качаются нормально, но не выполняются, что может быть? Помогите плиз, procedure ExecuteFile(aFileName: String); var ExtFile : string; {$IFDEF ANDROID} mime : JMimeTypeMap; ExtToMime : JString; Intent : JIntent; {$ENDIF} {$IFDEF IOS} URL : NSURL; {$ENDIF} begin ExtFile := LowerCase(Copy(ExtractFileExt(aFileName), 2, Length(aFileName))); {$IFDEF ANDROID} mime := TJMimeTypeMap.JavaClass.getSingleton(); ExtToMime := mime.getMimeTypeFromExtension(StringToJString(ExtFile)); if ExtToMime <> nil then begin Intent := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_VIEW); Intent.setDataAndType(StrToJURI('file:' + aFileName), ExtToMime); try SharedActivity.startActivity(Intent); except ShowError('Невозможно отобразить файл'); end; end; {$ELSEIF MSWINDOWS} ShellExecute(Application.Handle, 'open', PWideChar(aFileName), nil, nil, 0); {$ELSE} url := TNSURL.Wrap(TNSURL.OCClass.URLWithString(StrToNSStr(aFileName))); if SharedApplication.canOpenURL(Url) then SharedApplication.openURL(url) else ShowError('Невозможно отобразить файл'); {$ENDIF} end;
  13. Хм, как сказать: если писать внаглую Application.Terminate, то Delphi возвращает ошибку, что "Нет такой возможности", пробовал использовать стандартные действия (из ActionList) Файл-Выход, Скрыть приложение - Не знаю почему, но не работает. Пытался и метод Execute и ExecuteTarget вызвать.
  14. Добрый день, кто нибудь знает как правильно завершить приложение под iOS и Android? (Чтобы понятнее было - кнопка "Выход") =)
  15. Спасибо, с флагами стало понятнее, а что на счет вопроса по указанной теме?
  16. Да еще вопрос по сопровождающей теме: а как различить момент начала жеста, момент проведения жеста и момент окончания жеста? я так понял у TGestureEventInfo есть поле Flags, которое за это отвечает?
  17. Вячеслав, попробую как вы советовали, но я хочу следующее: У меня форма имеет TListView с древовидной информацией, и при нажатии на элемент происходит процедура раскрытие следующего уровня (практически TreeList только на основе TListView), и есть необходимость с помощью жестов выполнять разные операции, например, жест влево - вызов панели фильтрации, жест сверху вниз - вызов меню и т.д. Но если назначить жесты на TListView то происходит одновременно и раскрытие (что не нужно выполнять) и события обработки жеста. Вот хотелось бы разделить, чтобы при выполнении жеста прерывало все остальные события (нажатие элемента).
  18. Уважаемые разработчики, собственно сам вопрос в теме: Как отличить жест и событие OnItemClickEx в компоненте TListView, т.е. если добавить TGestureManager и сделать слайд влево или вправо при выполнении жеста происходит и нажатие и событие жеста , причем событие несколько раз. Как бы сделать обработку на окончание жеста и отдельно обработку события OnItemClickEx.
  19. Копался, копался так ничего и не получилось, в итоге сделал как предложил ruslan (пост 4) но со своими доработками, если кому интересно на создание объекта и на событие OnUpdatingObjects (на TListView) сделал aItem.Height := Round(CalculateTextHeight(aItem.Text, aItem.Objects.TextObject.Width, 36, 130, aItem.Objects.TextObject.Font))+4; aItem - TListViewItem - элемент списка из TListView сама функция вот function CalculateTextHeight(aText: String; aWidth: Single; aMinHeight: Single = 0; aMaxHeight: Integer = 0; aFont: TFont) : Single; begin FTextLayout.BeginUpdate; try FTextLayout.Text := aText; FTextLayout.MaxSize := TPointF.Create(aWidth, 1000); FTextLayout.WordWrap := True; FTextLayout.Font.Assign(aFont); FTextLayout.HorizontalAlign := FMX.Types.TTextAlign.Leading; FTextLayout.VerticalAlign := FMX.Types.TTextAlign.Leading; finally FTextLayout.EndUpdate; end; Result := FTextLayout.Height; if aMinHeight>0 then if Result < aMinHeight then Result := aMinHeight; if aMaxHeight>0 then if Result > aMaxHeight then Result := aMaxHeight; end; Параметры aText - текст, который там отображен, aWidth - ширина текстового объекта, aMinHeight - минимально возможная высота (0 - если не нужно ограничение) aMaxHeight - максимально возможная высота (0- если не нужно ограничение) aFont - шрифт, используемый объектом Сразу скажу, чтоб не говорили, что плагиатор, да основная часть и идея функции взята с этого форума. P.S.Прибавил 4 пикселя, для того, чтобы рамка поместилась
  20. Уважаемые разработчики, скажите пожалуйста, а будет ли у компонента свойство Max? А то получается с левой стороны проценты, а с правой те же самые проценты, только в количественном эквиваленте. Поясню: Если бы было например максимальное значение 200, а текущее положение 150, то слева было бы написано 75%, а с правой стороны 150/200. Сейчас такого установить невозможно.
  21. Запустил на Android устройстве, не заметил разницы в виртуальной клавиатуре. может просто проглядел? подскажите куда глянуть?
  22. Уважаемый разработчик, объясните пожалуйста функциональное назначение свойства Buttons.
×
×
  • Создать...