• 0
Kitty

Error: segmentation fault 11

Вопросы

void __fastcall TForm1::OnReceiveNotificationEvent(TObject *Sender,
	TPushServiceNotification* const ANotification) {

	String MessageText = "";
	// Получаем текст сообщения в зависимости от платформы
	#if defined(__ANDROID__)
		MessageText = ANotification->DataObject->GetValue("message")->Value();
	#endif
	#if defined(__APPLE__) && (defined(__arm__) || defined(__arm64__))
		MessageText = ANotification->DataObject->GetValue("alert")->Value();
	#endif
	if (MessageText != "")
		ShowNotification(MessageText, 0);

}

Все чтобы я не делала на срроке

MessageText = ANotification->DataObject->GetValue("message")->Value();

получаю Error: segmentation fault 11

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 ответов на этот вопрос

  • 0

Ошибку можно поймать если из консоли послать пуш с не заполненными messsge title, а когда пуш прийдет тапнуть по нему. Эти действия не правильные, поля надо заполнять, просто доп. проверка в коде могла бы наверное пригодиться...

Изменено пользователем Kitty

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

проверил отправку через консоль, чтобы ошибки не было делается вот так

const
  FCMSignature = 'gcm.notification.body';
  GCMSignature = 'message';
  APNsSignature = 'alert';
var
  aText: string;
  aObj: TJSONValue;
begin
  // это событие срабатывает при открытом приложении
{$IFDEF ANDROID}
  aObj := ANotification.DataObject.GetValue(GCMSignature);
  if aObj <> nil then
    aText := aObj.Value
  else
    aText := ANotification.DataObject.GetValue(FCMSignature).Value;
{$ELSE}
  aObj := ANotification.DataObject.GetValue(APNsSignature);
  if aObj <> nil then
    aText := aObj.Value;
{$ENDIF}
  ShowMessage(aText);

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
3 минуты назад, Kitty сказал:

Большое спасибо!!!

Теперь код крепче. :)

жду код на плюсах, добавлю в статью)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу