| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > вызов метода обьекта в списке |
| Автор: lebaon 29.7.2007, 14:15 | ||||
такая ситуация: есть несколько классов
есть список с обьектами классов init_object и GO_2d под названием mainlist когда я делаю так:
на строке po^.show; вылетает, хотя по идее должна вызывать GO_2d.show или init_object.show, вопрос, в чем я ошибся? |
| Автор: Yanis 29.7.2007, 14:33 |
| Не в обиду будет сказано. Я всегда был в шоке над программерами игр. Точнее над стилем кодирования А с какой ошибкой вылетает? |
| Автор: bems 29.7.2007, 14:37 |
| 1) не надо указателей на классы ибо итак все уже сделано за тебя 2) покажи как заполняешь список |
| Автор: MetalFan 29.7.2007, 15:07 |
| а override на show в init_object? + замечание про указатель... не нужен он. |
| Автор: lebaon 29.7.2007, 15:29 | ||||
заполняю список так
пробовал и без указателя, вот так
результат такой же, улетает куда то в ffffffff а что овверайд? его не нужно? а то я запутался |
| Автор: MetalFan 29.7.2007, 17:23 |
как без указателя? а что тогда там шляпа делает опять??? |
| Автор: bems 29.7.2007, 18:44 | ||||||
убираешь собак:
убираешь шляпы:
потом если список - потомок TObjectList то будет работать если нет - то при добавлении и удалении нужно привести объект к указателю
|
| Автор: bems 29.7.2007, 21:06 |
| ты не про другое. Это я в порядке перечисления |
| Автор: MetalFan 29.7.2007, 21:16 |
| bems, а, сорь) я нипонял) |
| Автор: lebaon 30.7.2007, 12:39 | ||
и как я не заметил? bems про собак и шляпы не очень понял а вот смена списка на TObjectList помогла, спасибо! |
| Автор: bems 30.7.2007, 14:05 |
| все просто. если ты хочешь получить указатель на объект то просто приводишь переменную типа класс к указателю (потому что физически это и есть указатель). @self - указатель на указатель на объект pointer(self) - указатель на объект но с TObjectList указатели вообще не нужны Добавлено через 1 минуту и 29 секунд ну и там где у тебя была шляпа (^) она тоже не нужна, а нужно простое приведение gameobject(mainlist.Items[ic]) |
| Автор: lebaon 30.7.2007, 20:57 | ||
вот где собака порылась...я и не знал про это |