Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

object`ы в delphi 2009


Страницы:   1 2 3 4 5

просто так ©   (2008-10-13 21:08:00) 

Ктонибудь компилировал в D2009 проги использующие object`ы?

В конструкторе при вызове objsetup почемуто портятся поля объекта и походу указатель на vmt. далее при вызове любого виртуального метода AV.

Это глюк или так и надо?


просто так   (2008-10-16 13:04:00) [61]

>>Сергей М
надо. А нафих ты меня спрашиваешь?
программа - небольшой векторный редактор. например объект точка (2 координаты - 8 байт на объект) делать под него класс? ему будет жирно, рекорд - мне будет неудобно. помоему object разумный компромис


просто так   (2008-10-16 12:57:00) [62]

>>sniknik
абсолютно также как с классом, тотже vmt, все честно, никакого мошенства))


Сергей М.   (2008-10-16 12:54:00) [63]


> нафиг мне массив ссылок?


А нафих тебе массив стат.записей ?


просто так   (2008-10-16 12:52:00) [64]

например нужен array [0..много], нафиг мне массив ссылок?


sniknik   (2008-10-16 12:47:00) [65]

> классы не всегда удобнее - хотябы потомучто они только по
> ссылке
а мне вот до сих пор не понятно, как в статическом объекте, в данных екзешника, будет меняться  виртуальный метод...?
т.е. странно не то, что не работает, странно то что раньше работало... (проверил в D7, действительно идет),
имхо, думаю это своего рода обман от компилятора, который виртуальные методы делает статическими. 2009-м же просто стал "честнее" :).


Сергей М.   (2008-10-16 12:26:00) [66]


> классы не всегда удобнее - хотябы потомучто они только по
> ссылке


А какая тебе разница, по ссылке или не по ссылке ?


Anatoly Podgoretsky   (2008-10-16 12:13:00) [67]

> просто так  (16.10.2008 10:58:30)  [30]

Как раз рекорды с методами и пришли на замену object


просто так   (2008-10-16 10:58:00) [68]

вот рекорды с методами - мусор)) будет весело если через пару версий они станут «deprecated»


просто так   (2008-10-16 10:48:00) [69]

дядя Германн
>>Насорил - убери!
Т.е. объекты - мусор? с них вообщето ооп начиналось, классы не всегда удобнее - хотябы потомучто они только по ссылке
>>А сабж при всех "высказанных", мне всё равно не понятен.
>>Примите и прочь!
Мне ваш пост тоже непонятен. зачем попусту клаву аммортизировать?
Где в хелпе написано что object не поддерживается? ключевое слово оставлено, более того всё вроде компилируется, но не работает как надо, это глюк компилятора, а не окончание поддержки.


Германн   (2008-10-16 03:16:00) [70]


> DrPass ©   (16.10.08 02:34) [27]
>
> Непонятно только, зачем предупреждать и что-то там убирать?
>

Насорил - убери!
А сабж при всех "высказанных", мне всё равно не понятен.
Примите и прочь!


DrPass   (2008-10-16 02:34:00) [71]

Непонятно только, зачем предупреждать и что-то там убирать? Возможность создавать статические объекты в языке в общем-то никому не мешала. Да, понятное дело, сейчас можно удобрять методами и обычные записи. Но все равно... наследование, полиморфизьм и прочие радости ООП.


Anatoly Podgoretsky   (2008-10-15 18:54:00) [72]

> Сергей М.  (15.10.2008 17:16:21)  [21]

Ничего не мешает, а смысл, если еще 13 лет назад предупредили.


просто так   (2008-10-15 18:43:00) [73]

работает нормально только если все объявления собрать в одном файле


просто так   (2008-10-15 18:38:00) [74]

если в [1] заюзать new - ошибка остается


Sapersky   (2008-10-15 18:22:00) [75]

все пропало,  KOL "погиб", он то весь на объектах. а никто в конференции kol этого не знает, портируют его под 2009й

В KOL, кстати, объекты создаются динамически как New(<указатель_на_объект>, <имя_конструктора>). _ObjSetup при этом вызывается тоже, но, возможно, правильнее определяется размер объекта (SizeOf(поля) + 4 на VMT). А статическое объявление компилятор (предположительно) считает просто record'ом с размером SizeOf(поля).


просто так   (2008-10-15 17:31:00) [76]

>>Сергей М.
знаний маловато)), попытался ковыряться - помоему информация о типе по которой его инициализирует objsetup в этом случае неверная


Сергей М.   (2008-10-15 17:16:00) [77]


> просто так


А соббсно что тебе мешает внимательно изучить под отладчиком поведение компилятора, найти ляп и накатить злую телегу в КодГир ? С аргументами, естественно, в виде листингов с твоими комментариями ?


Anatoly Podgoretsky   (2008-10-15 17:14:00) [78]

> Сергей М.  (15.10.2008 16:52:17)  [17]

Вроде уже в 2007 какие то подвижки произошли по данной обратной совместимости, вроде как отказались и ничего уже не гарантируют в данном случае. Но точно не могу сказать, тоже не видел 2007, но по этому поводу были сообщения.


Anatoly Podgoretsky   (2008-10-15 17:12:00) [79]

> просто так  (15.10.2008 16:48:16)  [16]

Для совместимости не нужна, а вот для обратной совместимости да, но это относится к временам 1995 года, сколько же можно!
Борланд предупреждал.
Но это дело программиста, он имеет право использовать и молиться, что бы ничего не произошло.


просто так   (2008-10-15 16:55:00) [80]

D6..D2006, FPC последних версий - всё ок, глючит только в D2009


Страницы:   1 2 3 4 5

Наверх

Титульная страница Поиск, карта сайта Написать письмо