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

Поиск сообщества

Показаны результаты для тегов 'ARC'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип контента


Форумы

  • Общие вопросы
    • Анимация
    • Графика
    • Стили
    • Базы данных и REST
    • Компоненты
    • Положение, размеры, выравнивание
    • Работа с текстом
    • Приложение и формы
    • Отладка
    • Развертывание приложений
    • Вопросы по языку Object Pascal и RTL
    • Общая информация о TControl
    • События
    • Прочие вопросы
  • Вопросы по платформам
    • Android
    • iOS
    • OSX
    • Windows
    • Windows Phone
    • Linux
  • Вопросы по использованию RAD Studio
    • Лицензирование
    • Сборка проектов
    • Multi-Device Designer
    • Редактор кода
    • Вопросы
  • Обучение
    • Основная информация
    • Вопросы
    • Отзывы
  • Поиск специалистов по FireMonkey
    • Консультации
    • Ищу подрядчика
  • Дополнительные ресурсы по FireMonkey
    • Сторонние компоненты
    • Приложения, написанные с использованием FireMonkey
    • Примеры
    • Руководства
    • Шаблоны
    • Статьи и заметки
    • Информация о версиях RAD Studio
    • Новости
  • Организация работы данного форума

Поиск результатов в...

Поиск контента, содержащего...


Дата создания

  • Начало

    Конец


Дата обновления

  • Начало

    Конец


Фильтр по количеству...

Регистрация

  • Начало

    Конец


Группа


AIM


MSN


Сайт


ICQ


Yahoo


Jabber


Skype


StackOverflow


Защита от ботов


Город


Интересы

Найдено: 4 результата

  1. procedure TForm1.Button1Click(Sender: TObject); var t : TImage; begin t := TImage.Create(Form1); Memo1.Lines.Add(IntToStr( t.RefCount ) ); t.Parent := form1; t.Width := 50; t.Height := 50; Memo1.Lines.Add(IntToStr( t.RefCount ) ); t.Bitmap.Assign(image1.Bitmap); Memo1.Lines.Add(IntToStr( t.RefCount ) ); t.tag := 11; Memo1.Lines.Add(IntToStr( t.RefCount ) ); end; procedure TForm1.Button2Click(Sender: TObject); var i : Integer; begin Memo1.Lines.Add('---------------------'); for I := 0 to Form1.ComponentCount-1 do begin if Components[i] is TImage then if Components[i].Tag = 11 then begin Memo1.Lines.Add(IntToStr( TImage( Components[i] ).RefCount ) + ' - ' + IntToStr( Components[i].Tag ) ); TImage( Components[i] ).Parent := nil; Memo1.Lines.Add(IntToStr( TImage( Components[i] ).RefCount ) + ' - ' + IntToStr( Components[i].Tag ) ); end; end; end; Вот результат memo после одного клика по button1 и одного клика по button2: 5 7 7 7 ------------------------------ 9 - 11 10 - 11 После этого делаю еще 1 клик по button2 и получаю: 7 - 11 10 - 11 Кто-нибудь может объяснить почему RefCount такой большой? Ведь по идее в самом начале на объект ссылается только сама переменная "T" и плюс ссылка в списке "components" у form1. После выхода из процедуры "button1click" локальная переменная(ссылка на объект) "T" уничтожается и ее можно не считать, я правильно понял? Почему RefCount равен не 2, а 7? Почему если в конце процедуры "button1click" написать "t := nil;" картинка пропадает с формы, ведь на нее куча ссылок если верить RefCount'у Как тогда правильно уничтожить такой объект? Система IOS.
  2. Всем привет, друзья. Столкнулся со следующей проблемой. Создаётся поток с целью загрузки картинок во время чтения статьи. Да так чтобы основная форма в момент загрузки не была заморожена. Вот код: type ThreadHTTP1=class(TThread) private i:integer; public procedure Execute;override; procedure ShowResult1; end; procedure ThreadHTTP1.Execute; var j:integer; begin inherited; try lStream1 := TMemoryStream.Create; Form3.IdHTTP1.Get('http://totalmma.ru/newsupload/8306.jpg',lStream1); except // ShowMessage('no'); end; Synchronize(ShowResult1); end; procedure ThreadHTTP1.ShowResult1; begin ShowMessage(IntToStr(Form3.IDHTTP1.Response.ContentLength)); Form3.Image1.Bitmap.LoadFromStream(lStream1); Form3.Image1.Visible := true; Form3.Caption:=IntToStr(i)+' kbs'; Form3.IdHTTP1.Free; Stream.Free; end; procedure TForm3.Button1Click(Sender: TObject); var MyHTTP1:ThreadHTTP1; begin MyHTTP1 := ThreadHTTP1.Create(False); end; Так вот проблема в следующем. На винде всё работает. А вот когда компилируешь под андройд и переносишь на телефон, при нажатии на кнопке ничего не происходит. Очень прошу помочь, друзья.
  3. Смотрел примеры для новой версии XE6 - и увидел что в блоке try finally для освобождения пишут DisposeOf вместо Free. Можете рассказать в каких случаях писать Free а в каких DisposeOf? Спасибо.
  4. Как правильно создавать и удалять объекты в run time? А то создаю так: c[r] := TCircle.Create(TabItem1); c[r].Position.X := 1; c[r].Position.Y := 1; c[r].Width := 50; c[r].Height := 50; c[r].Parent := TabItem1; И разрушаю так: c[r].Free; То в Win всё ок, а на симуляторе iOS объекты не разрушаются, а просто остаются. Попробовал так: c[r].Destroy; Тогда всё на Win опять всё ок, а на симуляторе разрушается, но при попытке снова создать - приложение крашится.
×
×
  • Создать...