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

Kitty

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

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

  • Посещение

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

    16

Сообщения, опубликованные Kitty

  1. Не понимаю жизненный цикл формы при вызове ее из события таймера...
    В диалоговой форме есть кнопка с кодом  Close();
    При таком вызове этой диалоговой формы из главной формы и затем ее закрытия я вижу ShowMessage(L"Закрыли"); один раз и форма закрывается.
    Все четко работает.

    #include "UnitDialog.h"
    void __fastcall TForm1::CreateMyDialog(String MES)
    {
    	FormDialog = new TFormDialog(0);
    	FormDialog->Text1->Text = MES;
    	FormDialog->ShowModal();
    	delete FormDialog;
    	FormDialog = NULL;
    	Application->ProcessMessages();
    	ShowMessage(L"Закрыли");
    }
    
    void __fastcall TForm1::Button6Click(TObject *Sender)
    {
     TDateTime DataInLogTable = Now();
     String FormatDATA = FormatDateTime("dd-mm-yyyy", DataInLogTable);
     String MES = L"Привет " + FormatDATA + L" мой свет :)";
    
     CreateMyDialog(MES);
    }

    Если написать так как ниже, то чтобы закрыть форму мне надо два раза нажать на ней кнопкой и соответственно я два раза вижу ShowMessage(L"Закрыли");
    Почему и где ошибка? Как создать форму из таймера и чтобы она отработала один раз?

    #include "UnitDialog.h"
    void __fastcall TForm1::CreateMyDialog(String MES)
    {
    	FormDialog = new TFormDialog(0);
    	FormDialog->Text1->Text = MES;
    	FormDialog->ShowModal();
    	delete FormDialog;
    	FormDialog = NULL;
    	Application->ProcessMessages();
    	ShowMessage(L"Закрыли");
    }
    
    __fastcall TForm1::TForm1(TComponent* Owner)
    	: TForm(Owner)
    {
     //запускаем таймер, период 1 секунда  
     TimerStart->Enabled = true;
    }
    
    void __fastcall TForm1::TimerStartTimer(TObject *Sender)
    {
     //сразу отключам таймер чтобы CreateMyDialog(MES) вызвалось только один раз!
     TimerStart->Enabled = false;
     TDateTime DataInLogTable = Now();
     String FormatDATA = FormatDateTime("dd-mm-yyyy", DataInLogTable);
     String MES = L"Привет " + FormatDATA + L" мой свет :)";
    
     CreateMyDialog(MES);
    
    }

     

  2. Можно ли дать объяснение такому факту поведения диалоговой формы в iOS?:

    1. Вызываем диалоговую форму по событию нажатия кнопки на главной форме и оставляем  висеть эту диалоговую форму на экране сколь угодно долго. Затем нажимаем на любую кнопку в этой диалоговой форме и все работает как надо.

    2. Создаем эту диалоговую форму в событии TForm1::Beacon1BeaconEnter и оставляем ничего не трогая висеть ее также на экране. Для надежности ставим глобальную переменную чтобы событие TForm1::Beacon1BeaconEnter произошло только один раз. В диапазоне примерно 40-300 секунд диалоговая форма созданная в событии TForm1::Beacon1BeaconEnter перестает отвечать на любое нажатие кнопок и просто замерзает.

    Что посоветуете? Спасибо.

     

  3. Подскажите, пожалуйста, ответ на такой вопрос.

    Добавлен код:

    myNotification->Number = 1;

    При уведомлении на иконке приложения появился красный кружок с цифрой 1. А теперь пользователь взял потянул шторку вниз и удалил уведомление, а на ярлыке программы красный кружок с цифрой остался.

    Можно ли как-то отследить ситуацию, что пользователь удалил уведомление из шторки и соответственно тогда очистить ярлык программы:

    NotificationCenter1->ApplicationIconBadgeNumber = 0;

    ?

  4. И все-таки мне никак не удается получить на iOS 10 уведомление, ни когда приложение свернуто, ни когда развернуто - ни при каких обстоятельствах. FMLocalNotificationPermission установлено true (Project -> Options -> Version Info).

    Код

    if (NotificationCenter1->Supported())
    		  {
    		   TNotification * myNotification = NotificationCenter1->CreateNotification();
    
    		  __try
    			{
    			 String MES = L"FireMonkey run!";
    			 myNotification->AlertBody = MES;
                 myNotification->FireDate = Now();
    			 NotificationCenter1->PresentNotification(myNotification);
    			}
    			__finally
    					{
    					 myNotification->DisposeOf();
    					}
    		  }

    Что еще надо сделать, чтобы увидеть Notification в iOS 10?

    Спасибо.

  5. Я чисто от себя.. Читаю мануал и если там нет решения я в тупике...Вроде как и не блондинка, но полный тупик. Даже начинаю сравнивать себя с персонажами Павла Воли. Но пока есть Ярослав и ZuBy, не все потеряно... :)

    Спасибо!

     

  6. Большое спасибо Ярославу, что находит время и фиксит проблемы, которые мы тут поднимаем. И курсы его великолепные!

    Спасибо профессионалам, таким как ZuBy, который терпит наши глупые вопросы и помогает.

    СПАСИБО!!!

  7. Кто нибудь сталкивался с такой проблемой - если очень долго держать окно диалога открытым и ничего с ним не делать, то иногда оно перестает реагировать на нажатия кнопок, просто "замерзает".

    Может есть рецепты?

  8. У меня в приложение применялись уведомления. Затем я от них отказалась. Удалила весь код связанный с ними. Однако на иконке приложения в телефоне висит красный кружок с циферкой один. В шторке уведомлений на телефоне нет. Там пусто. Как избавиться на иконке программы устаревшего красного круглого значка уведомлений? Перегрузка телефона не помогает.

  9. Большое спасибо! Проверти, пожалуйста, также открытие галереии с фотографиями и вызов окна поделиться  sharesheet. Это стандартные примеры с одной строчкой кода. Спасибо.

  10. Попробовал этот пример. Правда там ошибка:

    void __fastcall DoMessageListener(const TObject *Sender, TMessage const *M);

    А надо для компиляции:

    void __fastcall DoMessageListener(const TObject *Sender, TMessageBase const *M);

    Однако приложение при нажатии на кнопку снова выпало. Странно...

  11. В целом удалось перевести проект с TBeacon из андроид в iOS. Однако камера, обращение к галереи не работают. Короче не работает все что связано с TActionList. Жуть...

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