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

Segmentation fault (11)


bossalex

Вопрос

в коде под андроид на Delphi FMX не могу решить проблему

при повторном вызове окна методом Show убиваю компонент RectangleFon.DisposeOf; служащий контейнером других элементов

затем заново его создаю RectangleFon:=TRectangle.Create(FormKorzina);

потом при обращении к вновь созданным элементам таким же способом

получаю ошибку Segmentation fault (11). В другой форме такой метод работает

а тут ругается   if FormKorzina.SumDostavki>0 then
  FormKorzina.LabelSumStoimost.Text:=floatToStr(FormKorzina.SumDostavki)+' рублей' на выполнении

Скорее кудато лезу не туда в память а что делать не в курсе пробовал убивать freeandnill(RectangleFon); результат такой же, уже и дебагером проверял ругается то на фонт то на get в компоненте использовал данный метод убийства раньше freeandnill вроде проблем не было

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

убийство прямоугольника не приводит к освобождению ссылок на него, соответственно, имеете AV

сделайте ему хотя-бы parent:=nil

и поищите темы как удалить динамические компоненты

Ссылка на комментарий
  • 0

ни parent ни фига не помогает я уже задрался под андроид приложение лепить только под windows  fmx  както работает под android одно безумие

я так думаю это 10,1 глючить так как по xe 8 таких глюков не было или я чтото упустил под android 6 надо попробовать под 4

function TFormKorzina.free_(n:String):Boolean;
begin
 try
  {$IF DEFINED(iOS) or DEFINED(ANDROID)}
  SeekObject:=FindComponent(n);
  if SeekObject<>nil then
  begin
       TControl(SeekObject).DisposeOf;
    TControl(SeekObject):=nil;
  end;
  //freeandnil(TComponent(SeekObject));//.DisposeOf;
  {$ENDIF}
  {$IFDEF MSWINDOWS}
  SeekObject:=FindComponent(n);
  if SeekObject<>nil then
  begin
   TControl(SeekObject).Parent:=nil;
   TControl(SeekObject).Free;
   TControl(SeekObject):=nil;
  end;
  {$ENDIF}
 except

 end;
end;

Ссылка на комментарий
  • 0

все там нормально создается и удаляется. эта тема обсосана давно

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

 

DelObjects.7z

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

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

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

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