krapotkin
-
Постов
2 184 -
Зарегистрирован
-
Посещение
-
Победитель дней
209
Активность репутации
-
krapotkin отреагировална RoschinSpb в Png в TImage из TImageList
Что такое marker? Если TMapMarkerDescriptor, то это Record. Icon это просто поле которое ссылко на объект. Если объект будет уничтожен, то мы получим Access Violation.
TImageList в Fire Monkey не имеет метода GetBitmap. Зато есть метод Bitmap. О котором можно прочитать в документации: FMX.ImgList.TCustomImageList.Bitmap в частности
Кроме того в предложенной статье написано:
Т.е. в отличии от VCL-ного TImageList, в FMX, он не имеет постоянного размера. В зависимости от того, какой размер нам нужен будет сгенерирована картинка TBitmap растянутая/сжатая до нужных размеров с сохранением пропорций. Чтобы это не занимало слишком много времени последние сгенерироваyные картинки хранятся во внутреннем буфере из которого они могут "выталкиваться".
В Image (как и для большинства классов) при присваивании экземпляра какого-нибудь объекта в сеттере вызывается метод Assign, т.е. копируется не ссылка на объект, а копируются данные. В этом случае нас не интересует дальнейшая судьба исходного объекта.
-
krapotkin получил реакцию от Brovin Yaroslav в Трехзвенка и объекты
пример рабочего сервера, я конечно не смогу скинуть, но pawel glowacki отличную серию сделал в свое время
http://www.embarcadero.com/rad-in-action/delphi-labs
-
krapotkin отреагировална Brovin Yaroslav в Удаление формы из back-стека
Например, у нас есть 3 формы MultipleForms.zip
Главная (Form1) Форма ввода пароля (Form2) Третья форма (Form3) Form2 в момент открытия Form3 должна поставить себя в очередь на самоудаление (Release). Чтобы когда откроется Form3, Form2 была уже разрушена. В этом случае после закрытия Form3, вы вернетесь в Form1.
Код открытия Form3 из Form2:
procedure TForm2.Button2Click(Sender: TObject); begin Form3.Show; Release; end; procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := TCloseAction.caFree; end; -
krapotkin отреагировална haword в Удаление формы из back-стека
зачем такие бубны. просто не надо вызывать из 2 формы третью и все. возвращай первой форме вызов со второй, и потом в первой форме вызывай третью. тогда при закрытии третей формы перейдешь к первой.
-
krapotkin получил реакцию от Belov.V. в [Отклонение] [Android] Не меняется KeyboardType при переходе на следующий TEdit
этот ответ можно вынести на главную страничку и закрыть все темы форума разом )))
-
krapotkin отреагировална enatechno в [Отклонение] [Android] Не меняется KeyboardType при переходе на следующий TEdit
Чтоб лишний раз не менялась, добавил проверку на текущий тип
if TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardService, IInterface(KeyboardService)) and (TVirtualKeyboardState.Visible in KeyboardService.VirtualKeyboardState) and (aEdit.KeyboardType <> FCurVKType) then begin KeyboardService.HideVirtualKeyboard; KeyboardService.ShowVirtualKeyboard(aEdit); FCurVKType := aEdit.KeyboardType; end; tstVK.zip
-
krapotkin отреагировална enatechno в [Отклонение] [Android] Не меняется KeyboardType при переходе на следующий TEdit
procedure TForm1.Edit1Enter(Sender: TObject); begin CheckVK(Edit1); end; procedure TForm1.Edit2Enter(Sender: TObject); begin CheckVK(Edit2); end; procedure TForm1.CheckVK(const aEdit: TEdit); var KeyboardService: IFMXVirtualKeyboardService; begin if TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardService, IInterface(KeyboardService)) and (TVirtualKeyboardState.Visible in KeyboardService.VirtualKeyboardState) then begin KeyboardService.HideVirtualKeyboard; KeyboardService.ShowVirtualKeyboard(aEdit); end; end; -
krapotkin получил реакцию от Евгений Корепов в [Отклонение] [Android] Не меняется KeyboardType при переходе на следующий TEdit
этот ответ можно вынести на главную страничку и закрыть все темы форума разом )))
-
krapotkin получил реакцию от VladimirS в Неблокирующий диалог в мобильном приложении
пришлось еще одну панель чисто для рамочки накинуть...
итог
-
krapotkin получил реакцию от Brovin Yaroslav в Неблокирующий диалог в мобильном приложении
пришлось еще одну панель чисто для рамочки накинуть...
итог
-
krapotkin отреагировална Brovin Yaroslav в Неблокирующий диалог в мобильном приложении
Встроенный дизайнер свойства StyleLookup отбирает только те стили, которые содержат название компонента без первой буквы "T".
Но свойству можно присвоить любой стиль, даже того, которого нет в списке.
-
krapotkin получил реакцию от Brovin Yaroslav в [TIdHTTP] Пример авторизации на каком-нибудь сервисе
http://parsing-and-i.blogspot.ru/2009/05/idhttppost.html
-
krapotkin отреагировална kami в Неблокирующий диалог в мобильном приложении
На всякий случай уточню:
ShowModal(Callback) - это не всем привычный ShowModal, как его обычно понимают - внутри этого метода просто запоминается Callback и вызывается Show. А когда вы присвоите показанной форме какой-нибудь ModalResult, то будет вызыван Callback и форма закроется.
Т.е. в действительности это Show/Close с доп. "фишками". Поэтому на такой вызов не распространяется ограничение из хелпа
-
krapotkin отреагировална Martifan в Неблокирующий диалог в мобильном приложении
используйте 2 TRectangle одну сделать темным и чуть чуть прозрачным чтобы перекрывал весь проект ну что бы сделал эффект темного фона а вторую виде диалоговое форма и будет вам щастя )
-
krapotkin отреагировална xenon54 в Неблокирующий диалог в мобильном приложении
Что мешает указать stylelookup для панели "backgroundstyle" или как там он у вас зашит.
-
krapotkin отреагировална Равиль Зарипов (ZuBy) в Проектирование интерфейса
ну логические операции для пользователя, например заказ товара на TTabControl
1. Товар -> 2. Детали -> 3. Оплата -> 4. Подтверждение
это все через SetActiveTabWithTransition(Таб, TTabTransition.Slide, TTabTransitionDirection.Normal);
остальные опции, типа регистрации можно сделать на отдельной форме
-
krapotkin получил реакцию от AgrikBus в Возможно ли не использовать ProcessMessages в TAnimation?
TFloatAnimation использует ProcessMessages
Это чревато возникновением всяких событий, и даже закрытию формы во время анимации, что приводит к AV
очень хочется иметь Repaint без ProcessMessages.
Это возможно?
-
krapotkin получил реакцию от MichaelMef в Возможно ли не использовать ProcessMessages в TAnimation?
TFloatAnimation использует ProcessMessages
Это чревато возникновением всяких событий, и даже закрытию формы во время анимации, что приводит к AV
очень хочется иметь Repaint без ProcessMessages.
Это возможно?
-
krapotkin получил реакцию от DouglaswaW в Возможно ли не использовать ProcessMessages в TAnimation?
TFloatAnimation использует ProcessMessages
Это чревато возникновением всяких событий, и даже закрытию формы во время анимации, что приводит к AV
очень хочется иметь Repaint без ProcessMessages.
Это возможно?
-
krapotkin получил реакцию от Marina7827zSear в Возможно ли не использовать ProcessMessages в TAnimation?
TFloatAnimation использует ProcessMessages
Это чревато возникновением всяких событий, и даже закрытию формы во время анимации, что приводит к AV
очень хочется иметь Repaint без ProcessMessages.
Это возможно?
-
krapotkin получил реакцию от JohnDten в Возможно ли не использовать ProcessMessages в TAnimation?
TFloatAnimation использует ProcessMessages
Это чревато возникновением всяких событий, и даже закрытию формы во время анимации, что приводит к AV
очень хочется иметь Repaint без ProcessMessages.
Это возможно?
-
krapotkin получил реакцию от Hectorjar в Возможно ли не использовать ProcessMessages в TAnimation?
TFloatAnimation использует ProcessMessages
Это чревато возникновением всяких событий, и даже закрытию формы во время анимации, что приводит к AV
очень хочется иметь Repaint без ProcessMessages.
Это возможно?
-
krapotkin получил реакцию от AngelaJer в Возможно ли не использовать ProcessMessages в TAnimation?
TFloatAnimation использует ProcessMessages
Это чревато возникновением всяких событий, и даже закрытию формы во время анимации, что приводит к AV
очень хочется иметь Repaint без ProcessMessages.
Это возможно?
-
krapotkin отреагировална Brovin Yaroslav в Как добиться эффекта отражения?
Используем специальные методы:
TBimap.FlipHorizontal TBimap.FlipVertical TBimap.Rotate TBitmapSurface.Mirror TBitmapSurface.Flip TBitmapSurface.Rotate90 Или получаем доступ к точкам изображения и меняем их расположение.
procedure FlipHorizontal(var ABitmap: TBitmap); var Data: TBitmapData; X, Y: Integer; Pixel: TAlphaColor; begin Assert(ABitmap <> nil); if ABitmap.Map(TMapAccess.ReadWrite, Data) then try for X := 0 to (Data.Width div 2) - 1 do for Y := 0 to Data.Height - 1 do begin Pixel := Data.GetPixel(X, Y); Data.SetPixel(X, Y, Data.GetPixel(Data.Width - X, Y)); Data.SetPixel(Data.Width - X, Y, Pixel); end; finally ABitmap.Unmap(Data); end; end; Аналогично делается отражение относительно горизонтальной оси.