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

enatechno

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

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

  • Посещение

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

    26

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

  1. 1). Что значит "применяет стиль"? TCalloutRectangle (как и TShape) не являются стилизованными объектами. Соответственно, понятие "стиль" (в контексте FMX) к ним не относится. Если нужен стилизованный объект, используйте TCalloutPanel. 2). TButton не является TShape, поэтому возможно из-за этого ошибка преобразования класса (Sender as TShape). По приведенным фрагментам не понятно, что откуда вызывается. Приложите рабочий пример (п.2.2.5).
  2. Недавно Ярослав писал про https://allsoft.ru/offers/c-builder-berlin-so-skidkoy/?clear_cache=Y Смотрели тут?
  3. Воспроизводится под Windows и в Seattle и в Berlin. 1). Добавьте в листбокс 50 TMetropolisUIListBoxItem. 2). Проскрольте листбокс. 3). Кликните по любому айтему. 4). Закройте программу. Сбой происходит при закрытии программы: в секции финализации FMX.Forms, а именно в TStyleCache.Clear. Если заменить TMetropolisUIListBoxItem на TListBoxItem, сбой не происходит. tst_Listbox.zip
  4. Похоже Вы разместили Rectangle 'background' поверх других контролов. Попробуйте нажать на нем правой кнопкой мыши и в контекстном меню выбрать Control -> Send To Back
  5. Активный итем или последний добавленный? На дельфи "скроллировать" можно с помощью TListbox.ScrollToItem(Item). Если последний добавленный, то сначала добавляем, а потом скролл к нему. Например вот так: Listbox1.BeginUpdate; try aListBoxItem := TListBoxItem.Create(Listbox1); aListBoxItem.Text := 'text ' + random(500).ToString; Listbox1.AddObject(aListBoxItem); finally Listbox1.EndUpdate; end; Listbox1.ScrollToItem(aListBoxItem);
  6. Не менял Ваш код. Seattle. Windows 7. 2 картинки в каждом айтеме.
  7. Обновил тестовый исходник. При компиляции в разных версиях RAD потерялся FMX.Grid.Style
  8. Я каждый раз нажимал на новую ячейку. Для "чистоты" теста после ячейки из первой колонки нажимал на ячейку второй колонки (и наоборот). Все ячейки Enabled. У меня не было двойного срабатывания тоже. У меня были случаи не срабатывания SelectCell. На скрине (Berlin): 10 Tap и 7 SelectCell. Т.е. при 10 "тапах" на ячейках трижды не сработал SelectCell. Nexus 7 (Android 5.1), Samsung GalaxyS III (4.3) Логично. Я просто привел пример как было в прошлой версии, а также использовал OnTap для подтверждения, что устройство приняло жест пользователя.
  9. Можно. Приведенный мною текст может быть использован TDM.DataModuleCreate(Sender: TObject). Ваша ошибка была в том, что вы обращались к экземпляру класса DM.Conn.Connected := True; а сам экземпляр DM не создали.
  10. Откомпилировав тестовый проект в Berlin для Android (4.3, 5.1), обнаружил, что событие OnSelectCell стало "нестабильным". Т.е. если я делаю Tap по ячейкам StringGrid, то OnTap отрабатывает всегда, а OnSelectCell - не всегда. К тому же иногда нарушается последовательность вызова событий. Последовательность обработки событий в Android была такой (в Seattle и более ранних версиях): 1). OnTap; 2). OnSelectCell. Как лечить? test_SelectCell.rar
  11. FDConnection1 := TFDConnection.Create(Self); FDPhysSQLiteDriverLink1 := TFDPhysSQLiteDriverLink.Create(Self); FDGUIxWaitCursor1 := TFDGUIxWaitCursor.Create(Self); FDGUIxWaitCursor1.ScreenCursor := gcrSQLWait; FDGUIxWaitCursor1.Provider := 'FMX'; FDConnection1.DriverName := 'SQLite'; FDConnection1.Params.Values['Database'] := TPath.GetDocumentsPath + PathDelim + 'test.db'; FDConnection1.LoginPrompt := false; FDConnection1.Connected := true; if FDConnection1.Connected then ShowMessage('подключились'); Пример подключения в runtime. Компоненты на форму можно "не садить"
  12. Возможно. Дополнительный файл .so отличается от Вашего тем, что пробел заменен на _. Хотел проверить, но Delphi не дает мне создать проект с пробелом в имени.
  13. Вы используете пробел в названии проекта?
  14. krapotkin предложил Вам использовать MyDialogs вместо стандартного InputBox. В InputBox нельзя задать тип клавиатуры.
  15. Здесь Вы обращаетесь к визуальному компоненту в потоке, а не из Synchronize. Возможно в этом проблема?
  16. Если в гриде планируется выводить только текстовую информацию то используйте TStringGrid. Для отображения текста в ячейке в несколько строк используйте в тексте символ абзаца. Пример: StrinGrid1.Cells[1, 1] := 'строка 1 в ячейке 1.1' + #13#10 + 'строка 2 в ячейке 1.1'; Если же надо чтоб текст в одной ячейке был отображен разным шрифтом/цветом используйте событие TGrid.OnDrawColumnCell. Ниже описано как работать с TextLayout в этом событии: Добавлю, что в одной ячейке можно рисовать несколько TextLayout указывая для каждого цвет и размер шрифта, например как TStringGrid на скриншоте: P.S. Если планируете писать мобильное приложение, используйте TListView вместо грида.
  17. и не только... What's New - Berlin: Simplified Dialog API Several procedures and functions to show dialog boxes are now deprecated, and have been replaced by the procedures and functions of the new IFMXDialogServiceAsync and IFMXDialogServiceSync platform services that provide support for synchronous and asynchronous dialog boxes, respectively. The following table summarizes the API changes: Deprecated Members New Members FMX.Dialogs.ShowMessage* FMX.Dialogs.ShowMessageFmt* FMX.Dialogs.ShowMessagePos ShowMessageAsync ShowMessageSync FMX.Dialogs.MessageDlg FMX.Dialogs.MessageDlgPos FMX.Dialogs.MessageDlgPosHelp FMX.Platform.IFMXDialogService.MessageDialog MessageDialogAsync MessageDialogSync FMX.Dialogs.InputBox FMX.Dialogs.InputQuery FMX.Platform.IFMXDialogService.InputQuery InputQueryAsync InputQuerySync * ShowMessage and ShowMessageFmt are not really deprecated, but you may want to use ShowMessageAsync or ShowMessageSync instead nonetheless. Two new helper classes have been created as well: TDialogServiceAsync and TDialogServiceSync. These helper classes provide class methods and functions that allow you to call the new procedures and functions for dialog boxes without the need of an instance of the corresponding dialog box platform service. Other FireMonkey
  18. Чтобы использовать Drag and Drop устанавливайте у компонента TListBox свойство AllowDrag = true. Рекомендую посмотреть демку в примерах: C:\Users\Public\Documents\Embarcadero\Studio\15.0\Samples\Object Pascal\FireMonkey Desktop\CustomListBox
  19. Попробуйте картинку выровнять тоже Top. Второй вариант - выравнивание картинки Client
  20. http://fire-monkey.ru/topic/887-tstringgrid-kak-podsvetit-zadnii-fon-iacheiki-v-zavisimos/ http://fire-monkey.ru/topic/287-izmenenie-svoistva-shrifta-odnoi-iacheiki-v-firemonkey-tstringgrid-delphi-xe6/
  21. http://blogs.embarcadero.com/sarinadupont/2015/04/16/working-with-tmapview-on-ios-and-android-with-rad-studio-xe8/
  22. procedure FreeItems(const aStrings: TStrings); var i : Integer; aObj: TObject; begin for i := Pred(aStrings.Count) downto 0 do try aObj := aStrings.Objects[i]; if Assigned(aObj) then begin FreeAndNil(aObj); aStrings.Objects[i] := nil; end; except Exit; end; end; вызов: FreeItems(ListBox1.Items);
  23. Уточните, какая версия Android и модели телефонов у заказчика и товарища.
×
×
  • Создать...