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

Использование TObjectList на C++


mrseagull

Вопрос

Нигде не смог найти примера использование TObjectList на C++

 

 

на Delphi все отлично работает, как его переписать на с++?

 

List: TObjectList<TCircle>; //список объектов TCircie
 

procedure TForml.FormCreate(Sender: TObj ect);
begin
List:=TObjectList<TCircle>.Create; //здесь будут храниться шарики :)
end;

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

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

  • 0

Казалось бы, вот так должно работать - TObjectList* list = new TObjectList();
 

[bcc32 Error] Unit4.cpp(17): E2141 Declaration syntax error
[bcc32 Error] Unit4.cpp(21): E2333 Class member '_fastcall TForm4::FormCreate(TObject *)' declared outside its class
[bcc32 Error] Unit4.cpp(21): E2141 Declaration syntax error

 

[bcc32 Error] Unit4.cpp(21): E2190 Unexpected }

post-986-0-56885100-1432719463_thumb.png

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

сообщение

declared outside its class

должно натолкнуть вас на причину.

 

"объявлен вне своего класса"

Проблема в том что даже принципов работы с TObjectList на С++ ничего нет. Я попробовал разные и с классом и без него. Пока без результатов.

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

Я не силен в С++, и знаю что переменные можно объявлять почти где хочешь, но судя по ошибке нельзя объявить переменную вне класса. Внесите объявление переменной в метод или в свойство класса.

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

Программисту си, сложно писать на делфи и я это понял еще раз.
Буду рад если кто поможет с тем как использовать  TObjectList на с++ или подскажет альтернативу.

 

Задача состоит в том чтобы программно создавать и уничтожать компоненты.

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

Как альтернатива можно использовать vector. Странно почему я сразу о нем не подумал

 
std:: vector <TCircle> traf;
 
TCircle *tmp = new TCircle(0);
 
tmp->Height = 20;
tmp->Width = 20;
tmp->Position->X = 100;
tmp->Position->Y = 1;
 
traf.push_back(*tmp);
 
 
НО!!!! 

post-986-0-88651300-1432939736_thumb.png

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

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

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

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

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

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

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

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

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

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

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