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

Kitty

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

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

  • Посещение

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

    16

Активность репутации

  1. Like
    Kitty получил реакцию от Yarpda в XE 8   
    Bug fix list for RAD Studio XE8
    http://edn.embarcadero.com/article/44358
  2. Like
    Kitty отреагировална xenon54 в TListView при нажатии на один из его элементов происходит повторный вызов процедуры   
    Порекомендовал бы вам использовать событие "ItemClickEx", в обычном "ItemClick" после очистки списка вылетает AV. после завершения события и перехода к 
    if AItem <> nil then AItem.SyncCheckedState; А по поводу многократного срабатывания писал выше:
  3. Like
    Kitty отреагировална haword в XE 8   
    в 4.4.2 скорее всего добавили эмулятор arm вот и заработала программа. 
  4. Like
    Kitty получил реакцию от Andrey Efimov в XE 8   
    What's New in RAD Studio XE8
    https://www.embarcadero.com/ru/products/rad-studio/whats-new
  5. Like
    Kitty отреагировална Евгений Корепов в [Android] Как отключить программную кнопку Меню?   
    Ура! "screenSize" в сочетании с android:minSdkVersion="9" android:targetSdkVersion="14" помогло! Все работает отлично. Всем огромное спасибо. Привожу измененных темплейт манифеста, вдруг кому пригодится.
    <?xml version="1.0" encoding="utf-8"?> <!-- BEGIN_INCLUDE(manifest) --> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="%package%" android:versionCode="%versionCode%" android:versionName="%versionName%"> <!-- This is the platform API where NativeActivity was introduced. --> <uses-sdk android:minSdkVersion="9" android:targetSdkVersion="14" /> <%uses-permission%> <application android:persistent="%persistent%" android:restoreAnyVersion="%restoreAnyVersion%" android:label="%label%" android:installLocation="%installLocation%" android:debuggable="%debuggable%" android:largeHeap="%largeHeap%" android:icon="%icon%" android:theme="%theme%" android:hardwareAccelerated="%hardwareAccelerated%"> <!-- Our activity is a subclass of the built-in NativeActivity framework class. This will take care of integrating with our NDK code. --> <activity android:name="com.embarcadero.firemonkey.FMXNativeActivity" android:label="%activityLabel%" android:configChanges="orientation|keyboardHidden|screenSize" android:launchMode="singleTask"> <!-- Tell NativeActivity the name of our .so --> <meta-data android:name="android.app.lib_name" android:value="%libNameValue%" /> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <%activity%> <receiver android:name="com.embarcadero.firemonkey.notifications.FMXNotificationAlarm" /> <%receivers%> </application> </manifest> <!-- END_INCLUDE(manifest) -->
  6. Like
    Kitty получил реакцию от xenon54 в XE 8   
    What's New in RAD Studio XE8
    https://www.embarcadero.com/ru/products/rad-studio/whats-new
  7. Like
    Kitty отреагировална xenon54 в [TListVIew] Отключение DeleteButton   
    Свойство "CanSwipeDelete"
  8. Like
    Kitty отреагировална xenon54 в [TidHTTP] Не срабатывает Timeout   
    Именно с "EIdException" у меня работает вменяемо. Как вариант можно сделать так:
    type TForm1 = class(TForm) procedure Button1Click(Sender: TObject); private MyFlag : Boolean; public end; ... procedure TForm1.Button1Click(Sender: TObject); begin TThread.CreateAnonymousThread(nil, procedure() var IdHTTP1 : TIdHTTP; begin IdHTTP1 := TIdHTTP.Create(nil); form1.MyFlag := false; IdHTTP1.Get('http://lenta.ru'); form1.MyFlag := true; IdHTTP1.free; end).start; // Ну и тут запустить таймер, который проверит через нужное вам время переменную MyFlag end;
  9. Like
    Kitty отреагировална xenon54 в TMemo скролится вниз не до конца и отрезает буквы.   
    В общем если кто-то будет искать, то вот такой позорный костыль капельку улучшает ситуацию:
    if ((NewViewportPosition.Y+MemoInheritor.Height)- round(MemoInheritor.GetContentBounds.Height)) = 2 then MemoInheritor.ViewportPosition := TPointF.Create(MemoInheritor.ViewportPosition.X, MemoInheritor.ViewportPosition.Y+2); Этот код в событии "OnViewportPositionChange", MemoInheritor - наследник TMemo.
  10. Like
    Kitty отреагировална Brovin Yaroslav в AV при "Application.ProcessMessages" в событии MouseLeave на любом контроле   
    Добрый день,
     
    Проблема в том, что когда вы вызываете ProcessMessage в OnMouseLeave, то вы по сути прерываете логику обработки Hovered контрола (Тот, что находится под мышкой). То есть вызывая ProcessMessage вы запускаете новый прогон обработки сообщений заново, не закончив предыдущий. В итоге, новый запуск сбрасывает ссылки на объект Hovered. А после возвращения в обратно в первый ProcessMessage Hovered еще используется, но он уже nil. Тут и возникает AV.
    procedure TCommonCustomForm.SetHovered(const Value: IControl); begin if (Value <> FHovered) then begin if FHovered <> nil then begin FHovered.DoMouseLeave; // <Тут вы вызываете ProcessMessage и после выхода, тут будет nil FHovered.RemoveFreeNotify(Self); end; FHovered := Value; if FHovered <> nil then begin FHovered.AddFreeNotify(Self); FHovered.DoMouseEnter; end; end; end; Если очень хочется использовать ProcessMessage в таком месте, можете добавить проверку на нил, после:
    FHovered.DoMouseLeave; if FHovered <> nil then FHovered.RemoveFreeNotify(Self);
  11. Like
    Kitty отреагировална haword в [Android] Как нажать кнопку пультом?   
    попробуй повесить обработку нажатых кнопок на форме OnKeyDown и смотри какие коды покажет какая кнопка в Key и KeyChar. 
  12. Like
    Kitty отреагировална xenon54 в [Android] Как нажать кнопку пультом?   
    В IOS, например, чтобы в приложение передавались события нажатия кнопок плеера (плей, стоп, вперед, назад, и т.д.) нужно зарегистрировать обрабочтик событий ремоут контрол, ну и соответственно написать сам обработчик. Мб с ведром тоже самое... Но это лишь предположение.
  13. Like
    Kitty отреагировална Brovin Yaroslav в [Android] Как нажать кнопку пультом?   
    Добрый день,
     
    Есть вариант для инфракрасных контроллеров: 
     
    Либо нужно использовать RemoteController
  14. Like
    Kitty отреагировална Andrey Efimov в Как узнать версию приложения под Android?   
    Например, вот так:
    {for Delphi XE6/XE7: Add to "uses" module "Androidapi.Helpers"} uses   Androidapi.JNI.JavaTypes, FMX.Helpers.Android,   Androidapi.JNI.GraphicsContentViewText; var   PackageManager: JPackageManager;   VersionPackage,PackageName: JString; begin   PackageManager := SharedActivity.getPackageManager;   PackageName := SharedActivityContext.getPackageName;       VersionPackage := PackageManager.getPackageInfo(PackageName, 0).versionName;   Label1.Text := JStringToString(VersionPackage); p.s. Для подобных вопросов, у меня в блоге есть страничка "JNI Code Snippet"
  15. Like
    Kitty отреагировална Brovin Yaroslav в [Статья] Новый подход разработки компонентов FireMonkey “Контрол – Модель – Презентация”. Часть 2. TEdit с автозавершением   
    Ссылка: http://yaroslavbrovin.ru/new-approach-of-development-of-firemonkey-control-control-model-presentation-part-2-tedit-with-autocomplete-ru/ Автор: Ярослав Бровин 2 часть статьи о новом подходе разработки визуальных компонентов в FireMonkey. Содерит практическую часть по созданию своего представления. В качестве примера, добавляется функция автозавершения ввода для стандатного компонента TEdit.
  16. Like
    Kitty отреагировална Brovin Yaroslav в [TidHTTP] Как получить ответ от веб-сервера в нужной кодировке?   
    Мой код компилируется на все платформы. Попробуйте вначале собрать пример с моим кодом, сделав полный копипаст.
  17. Like
    Kitty отреагировална Brovin Yaroslav в Руководства RAD Studio Mobile Tutorials - Free eBook   
    Ссылка на скачивание: http://docs.embarcadero.com/products/rad_studio/radstudioXE7/Mobile_Tutorials_en.pdf
  18. Like
    Kitty отреагировална Brovin Yaroslav в [TidHTTP] Как получить ответ от веб-сервера в нужной кодировке?   
    Добрый вечер,
     
    У TidHttp есть перегруженный метод получения ответа с возможностью указания потока. 
     
    Сервер по указанному адресу присылает ответ в ANSI кодировке. А у функция Get возвращает UnicodeString в С++ Builder. Поэтому решение - это представить полученный ответ в ANSI кодировке:
     
    C++:
    TStringStream *SS = new TStringStream(L"", TEncoding::ANSI, false); try { UnicodeString URL = "http://seatr.do.am/AntiCafe48/30.03.2015"; IdHTTP1->Get(URL, SS); ShowMessage("Response: " + SS->DataString); } __finally { SS->Free(); } Delphi:
    var SS: TStringStream; begin SS := TStringStream.Create('', TEncoding.ANSI); try IdHTTP1.Get('http://seatr.do.am/AntiCafe48/30.03.2015', SS); ShowMessage('Response: ' + SS.DataString); finally SS.Free; end; end; Результат:

  19. Like
    Kitty отреагировална Brovin Yaroslav в TMemo скролится вниз не до конца и отрезает буквы.   
    Я завел багу во внутренний треккер. Можете, конечно, ее продублировать в quality.embarcadero.com
  20. Like
    Kitty отреагировална Brovin Yaroslav в При ручной отрисовке на битмапе TImage, у меня на форме получаются артефакты. В чем причина?   
    Добрый день,
     
    посмотрите на свой код внимательнее.
    Вначале вы создаете битмап. В нем рисуете линию. Потом очищаете битмап в image1. И заливаете фон белым цветом Потом заменяете очищенный битмап в Image1, своим MyBitmap. В итоге результат работы метода Clear скрывается.
    На счет артефактов, я не вижу их на воспроизведенном примере. Линия есть. Если вы выложите ваш проект, чтобы на нем можно было посмотреть, было бы здорово. 
  21. Like
    Kitty отреагировална Brovin Yaroslav в Сообщения чата в виде сообщений в iphone.   
    Добрый день,
    Я бы взял TScrollBox для контейнера сообщений. Каждое сообщени представил в виде TLabel с вашим стилем в виде облаков TLabel поместил в TLayout и внутри него выравнивал бы по правому или левому краю. А сами TLayout выравнивал бы по верху.
  22. Like
    Kitty отреагировална Brovin Yaroslav в заполнение окна формы 2-3 или колонки в зависимости от ориентации экрана   
    Добрый день,
     
    Используйте TGridLayout. У него вы только указываете размер элемента (ItemWidth, ItemHeight). Далее этот компонент автоматчиески все дочерние контролы выстраивает в сетку с размером ячейки ItemWidth x ItemHeight
  23. Like
    Kitty отреагировална Brovin Yaroslav в Нужна кнопка удаления своего сообщения на форуме   
    Такая опция добавлена для пользователей. Поддерживаются два типа удалений:
    Скрытие. Скрытие от пользователей вашего сообщений с возможностью восстановление. Скрытое сообщение доступно на просмотр модераторам и администраторам Удаление. Полное удаление сообщение без возможности восстановить.
  24. Like
    Kitty отреагировална xenon54 в Частые сбои приложения при попытке запуска, Android.   
    Ну естественно они все в памяти висят. Ты создаешь считай объекты типа TBitmap методом LoadFromFile выделяешь память под размеры этой картинки. И пока этот битмап не уничтожен(а пока твой список существует, все битмапы живут), выделенная память под него будет занята. Этот момент уже не единожды обсуждался. Лично мое решение это при скроле листвью тебе нужно определять какие итемы сейчас находятся в области видимости и только для них держать картинки в памяти, т.е. ты должен при скроле динамически подгружать/выгружать картинки.  Если размеры картинок небольшие, то думаю что проблем возникнуть не должно. Так же, если у тебя там картинки больших размеров чем реальные битмапы, то лучше используй не LoadFromFile, а LoadThumbnailFromFile.
  25. Like
    Kitty отреагировална Brovin Yaroslav в Описание TfgApplicationEvents - мониторинг основных событий приложения   
    Описание:
    Назначение: Получение основных событий приложения, путем подвешивания обработчиков на события компонента в дизайнере Поддерживаемые платформы: Windows, OSX, iOS, Android Демо проект: Samples\ApplicationEventsDemo\ApplicationEventsDemo.dproj Доступен с версии: XE7 Возможности:
    Все события перехватываю события во всем приложении.
    Получение результатов (интентов) из других приложений (OnActivityResult) Нотификация о выполнения Action в TAсtionList (OnActionExecute) Нотификация о обновлении Action в TAсtionList (OnActionUpdate) Перехват любого исключения в приложении (OnException) Простой приложения (OnIdle) Оповещение об изменении размера формы (OnFormSizeChanged) Оповещение о необходимости сохранить данные UI формы при изменении состояния приложения. Особенно актуально для мобильных платформ (OnSaveState) Изменение состояния приложения (OnStateChanged) Факт изменения стиля формы (OnStyleChanged) Изменение ориентации устройства (OnOrientationChanged) Все формы приложения на старте созданы (OnFormsCreated) Форма приложения разрушается (OnFormReleased) Изменение главной формы (OnMainFormChanged) Изменение заголовка главной формы (OnMainFormCaptionChanged) Уведомление об отображении формы (OnFormBeforeShown) Уведомления об активации и деактивации формы (OnFormActive,  OnFormDeactivate) Уведомления о создании и разрушении формы (OnFormCreate, OnFormDestroy) Изменение скейла экрана (OnScaleChanged)

     
×
×
  • Создать...