• 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

Просто подскажите как вы на паскале обработали бы это исключение?

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


Ссылка на сообщение
Поделиться на других сайтах
  • 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);

 

Kitty и AlexG понравилось это

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


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

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

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

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


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

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

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

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

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


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

Создайте аккаунт или войдите для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу