1. Brovin Yaroslav

    Brovin Yaroslav

  2. Alex7wrt

    Alex7wrt

  • Похожий контент

    • От Anasazi
      Всем привет. Чиатю книгу Осипова по Delphi. В книге есть один пример создания простой игры, вроде бы в нем все понятно кроме одного момента.
      По задумке один таймер должен создавать шарики и присваивать им случайные координаты. Второй таймер должен опускать шарики вниз.
      С первым все просто и понятно понятно:
      procedure TForm1.Timer1Timer(Sender: TObject); Var Circle:Tcircle; begin Randomize; Circle:=TCircle.Create(nil); List.Add(circle); Circle.Parent:=Form1; Circle.Position.Y:=0; Circle.Position.X:=Random(Round(Form1.Width-Circle.Width)); end; А вот со вторым какие-то чудеса:
      procedure TForm1.Timer2Timer(Sender: TObject); var i: integer; begin For i:=0 to List.Count-1 do with List.Items do begin Position.Y:=Position.Y+0.5; Я не могу понять почему при перемещении шариков вниз мы пишем просто Position.Y:=Position.Y+0.5;
      Как компилятор понимает что это Position.Y именно шарика, а не формы допустим или квадрата?
      Я привык обращаться к свойству Position так Rectengle1.Position.Y.
      Подскажите пожалуйста как так.
    • От ivadimos
      Извиняюсь за псевдокод.

      Есть класс (A), у него есть несколько дочерних(B1.B2...)
      Создаю лист объектов TList<A>, в него добавляю объекты классов B1, B2...
       
      Есть третий класс С, который имеет перегруженный метод для всех дочерних классов (A).
      procedure p(obj: B1);
      procedure p(obj B2);

      Но объект в классе С всегда воспринимается как объект класса А.
      Как я могу решить проблему?
       
    • От PFC
      Есть класс:
      class TMyObjectInt : public TObject { private: int Value; public: __fastcall TMyObjectInt (int _Value); __fastcall ~TMyObjectInt(); }; Есть ComboBox:
      for (int i = 1; i <= 10; i++) cbxItems->Items->AddObject(IntToStr(i), new TMyObjectInt(i)); Почему при вызове ->Clear() не вызываются деструкторы для TObject'ов? Казалось бы базовый TObject замечательно для этого подходит, даже деструктор у него виртуальным объявлен.
      Я могу написать свою функцию очистки, но это потенциально приводит к ошибкам, особенно если я отдаю указатель на ComboBox за пределы своей формы.
       
      Кстати, так же ведут себя и многие другие контролы, да и в VCL было так же.
  • Последние посетители   0 пользователей онлайн

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