![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Злоумышленник |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 3.9.2006 Репутация: -1 Всего: -3 |
Сегодня начальник дал диск с лицензионной Turbo Delphi for Windows Professional и сказал установить и "теперь на ней работать будем". Я был не в восторге от того, что предстояло загадить свою машину .NET'ом, но приказ есть приказ - установил, зарегистрировал и стал смотреть. И тут начались проблемы и неприятный сёрпрайзы, которые продолжались весь день... Попробую их описать.
Я часто открываю файла из окошка "Open file", при попытке из такого окошка из-под TDWin32 открыть "с помощью" D7 проект (надо было) получил "файл не найден". При попытке открыть из проводника при одновременном выделении более 3-х файлов (я пробовал с dpk) часть из них параллельно начинала открываться и в Блокноте. Несмотря на быструю загрузку на старте среда она явно тормозила в работе (P4 1.8ГГц, ОЗУ1Гб), в частности переключения между закладками, и закрытие-открытие закладок в редакторе кода. По непонятным причинам иногда запускались 2 экземпляра TDWin32. Получил Internal error (или что-то типа того) при компиляции разок, вылечилось перезапуском среды. Хотел потрассировать прогу, на ошибке вместо перехода в отладчик получил зависание (возможно конечно виноват компонент EhLib4.1, но в D7 такого небыло НИ РАЗУ). Кстати, прога нормально работала после комиляции в D7. Получил проблемы при попытке установить JVCL и any-dac c инстоллятора - требовался dcc32.exe, вот в D7 он есть, а тут не оказалось. Пришлось гемморойно ставить вручную и терять время. Как уже говорил, EhLib4.1 выдавал ошибки, на D7 всё ок - возможно недоработка компонента, но при попытке отладить - висяк. Били ещё проблемы и периодически. Времени разбираться было мало, всего 1 раб. день, но осталось стойкое впеч впечатление глючной вещи, по мелочи, но всё равно неприятно. Также покоробил неудобный интерфэйс с тупым закосом под бестолковую MS Visual Studio. Странно, я заглядываю на форум, но ничего подобного не видел в темах. Разве что мольбы "как мне переделать бесплатно бесплатный Explorer в Professional?" |
|||
|
||||
Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
Вопреки всеобщему заблуждению простых «зевак», дураки в MS не работают. Интерфейс и дизайн VS возможно более продуман чем у BDS. Что касается глючности, так тут нельзя забывать о том, что при наличии сомнительных глюков, которые перечисленны выше их всё же меньше чем в седьмой (народной) версии Delphi. Добавлено через 1 минуту и 45 секунд Злоумышленник В российском представительстве Borland твои замечания и баг-репорты без особой радости, но с охотой примут. |
|||
|
||||
Sergius |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 14.2.2007 Репутация: нет Всего: нет |
Странно, как только вышел бесплатный Explorer, скачал и поставил. Все летает и не тормозит, АМД 1.5ГГц, ОЗУ512Мб, не лагает. Вопрос: что я не так делаю?
![]() |
|||
|
||||
Злоумышленник |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 3.9.2006 Репутация: -1 Всего: -3 |
Sergius,
могу только предположить, что ты не работаешь над серьёзными проектами (раз на эксплорере сидишь) Yanis,
|
|||
|
||||
Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
||||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Меня страшно убивают частые "слеты" справочной системы. Я уже готов убить Борланд за это. Из-за сильных зависимостей от всяких сторонних фич, установка разных программ, той же студии от Microsoft приводит к глюкам. Глюки есть жуткие при использовании DelphiSpeedUP. На счет интерфейса я наоборот в восторге, ИМХО стал намного лучше и удобнее семерки. Глюк остался при выделении прямоугольного фрагмента текста, но к счастью исправили некоторые глюки которые были в семерке. Язык теперь стал по настоящему мощным. Но все это временные трудности, которые нужно 1 раз преодолеть, а потом забыть и наслаждаться мощью и продуманностью.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
Sergius |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 14.2.2007 Репутация: нет Всего: нет |
Ну в общем то вы правы, мы еще есть студент, и до серьезных прожектов нам еще ой как далеко... |
|||
|
||||
iddqd |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 16.11.2005 Репутация: 0 Всего: 2 |
Самое глупое высказывание на этом форуме, которое я видел. К слову у MSVS фейс, да и вобще сама среда, продуманы в разы лучше, чем у дельфи. Сам не так давно перешел с дельфи на си# на работе. -------------------- |
|||
|
||||
Beltar |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 627 Регистрация: 11.1.2006 Репутация: 3 Всего: 7 |
2 Alexeis
Ага. MS-Help падает так надежно, что переустановка в помощь. Borland поступили очень глупо написав IDE на .NET, удивляюсь, что BDS 2006 вполне работоспособна и глючит ненамного больше семерки. И вообще тратили время на эту нафиг ненужную интеграцию, чтобы в итоге опять выпустить Turbo-версии. Но что они могли сделать со справочной системой, если MS запрещает распространять старые версии справки? Злоумышленник
Internal Error часто возникает, когда компилятор по какой-то причине не может переписать exe'шник. Сталкивался и в D7 и в BDS 2006.
Мне как-то моча в голову стукнула связный список себе сделать. Естественно, при работе с таким классом, чтобы получить значение Items[i] трассировщик должен выполнить мой код доступа, а я туда MessageDlg запихал. Результат обалденный, Delphi сообщение показать не может и виснет намертво. ![]() Добавлено через 12 минут и 46 секунд
Без 19-дюймового монитора плюсами VS стиля воспользоваться сложно. Просто обалдеть как умно сделали, вывалили в debug-mode такую кучу окон, что кода не видно. Ну как часто надо отображать Call Stack или регистры CPU? Понадобяться, вызовем. И приходится сразу все лишнее убирать и сохранять Desctop. Может это мелочь, установил, настроил один раз и забудь, но все равно глупо и неприятно. А вообще VS одним своим видом может вогнать в шок. В BDS мне VS-стиль нравится тем, что при дизайне формы, можно палитру с компонентами справа поставить и с ней работать удобней, чем в D7, но это если форма на нее не залезает. Local Variables радует, но я почему-то ни разу ей не воспользовался. ![]() -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. ![]() Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере. |
||||||||
|
|||||||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
1. Поставить все патчи.
2. Если турба куплена, значит есть аккаунт покупателя на CodeGear или возможность его завести - скачай dcc32. Я так понимаю, что куплена электронная лицензия, а не коробочная, иначе бы всё было в комплекте. А так - докачивайте с кодегира. 3. Поставь DelphiSpeedUp. Согласен, что бывает глючит. Но... Кто ищет глюки - тот их найдёт. Бывает сглючивает. Примерно раз в 2 недели. Но это приемлемо. |
|||
|
||||
aktuba |
|
|||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: 16 Всего: 38 |
Странно. Твоих глюков не наблюдал, а вот один свой есть =)))
При выгрузке TD - процесс занимает 100%. TD не выгружается. Приходится по Ctrl+Alt+Del выгружать =(((( -------------------- ![]() |
|||
|
||||
Rennigth |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 21.6.2004 Где: Moscow Репутация: 49 Всего: 76 |
никогда не было... в отличии от семерки. :( Незнаю, особо страшного в Turbo еще ничего не видел. Все новое пишу уже только на ней. Небольшие проекты с семерки уже перевел на нее, т.к. (покрайней мере у меня) работает стабильнее. ![]() ![]() -------------------- (* Honesta mors turpi vita potior *) |
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
работаю в BDS2006....
стоят эксперты GExperts и CnPack. если закрывать среду с открытым проектом (группой проектов) и несколькими открытыми файлами частенько валится с кучей AV. НО если перед выходом из IDE закрыть все открытые проекты (File-CloseAll), то все ок. никаких AV. -------------------- There are always someone smarter than you... |
|||
|
||||
aktuba |
|
||||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: 16 Всего: 38 |
А у меня наоборот никогда такого в семерке не было... Новые проекты пишу на TD, а старые пока не переношу...
Что-то мне подсказывает, что дело тут не в BDS ![]() -------------------- ![]() |
||||
|
|||||
Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
В ней. У меня тоже такое часто бывает при закрытии среды. Поэтому я пользуюсь пунктом Close all and terminate process для выхода ![]() |
|||
|
||||
Beltar |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 627 Регистрация: 11.1.2006 Репутация: 3 Всего: 7 |
Если долго работать. И никакие эксперты на это не влияют. -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. ![]() Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере. |
|||
|
||||
Ch0bits |
|
|||
![]() Python Dev. ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2124 Регистрация: 21.2.2005 Где: Казань Репутация: нет Всего: 62 |
offtopic
А что поменялось в языке со времён D7? |
|||
|
||||
Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
Да хотя бы хелперы и перегрузка операторов. |
|||
|
||||
Ch0bits |
|
|||
![]() Python Dev. ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2124 Регистрация: 21.2.2005 Где: Казань Репутация: нет Всего: 62 |
Это вроде если под .net писать? А меня интересует win32. |
|||
|
||||
Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
|
|||
|
||||
Злоумышленник |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 3.9.2006 Репутация: -1 Всего: -3 |
С D7 было относительно мало проблем. Настолько мало, что я их сейчас перечислю.
Самая основная (и знаменитая) - при закрытии среды вываливается окно об ошибке (Access Violation или что-то типа того). Как правило, возникает подобное если часто прогонять программы через отладчик, поэтому без необходимости это не делаю и не ленюсь, компилирую и запускаю из проводника. Иногда эксешник криво компилируется. И также при программировании с наследованием форм при внесении визуальных изменений в родитель D7 не всегда сразу переносит изменения в наследники. Здесь нужно быть аккуратным и придерживаться следующего: а) делать не compile, а build (чуть-чуть дольше); б) взять за правило - чем меньше открытых модулей с формами, тем лучше. Т. е. ненужные модули лучше закрывать, я так всегда делаю. Ну конечно же пора обновить интерфэйс, но по-умному. Из того, что есть я бы только редактор кода хотел бы видеть как в Turbo, палитру компонентов надо оставить как есть вверху. Кое-какие вещи имеют логическую ошибку. Например, если сделать копию с папки проекта и не убрать dsk-файл, попробовать что-то поменять в этой папке-копии - сами знаете, на какие грабли можно наступить. Это ВСЁ! В остальном D7 стабильная, удобная и такая послушная... ![]() Иногда бывают проблемы из-за компонетов сторонних, но в новых версиях всё исправляется авторами. |
|||
|
||||
Ch0bits |
|
|||
![]() Python Dev. ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2124 Регистрация: 21.2.2005 Где: Казань Репутация: нет Всего: 62 |
Yanis, так это в рекордах, а как дела с классами?
Вообще не представляю как с ней работали, там же рефакторинга не было! ![]() |
|||
|
||||
Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
||||
|
||||
Ch0bits |
|
|||
![]() Python Dev. ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2124 Регистрация: 21.2.2005 Где: Казань Репутация: нет Всего: 62 |
Нашёл! - http://dn.codegear.com/article/34324 Глядя на изменения просто поражаюсь! Как вообще можно было писать программы на D7. ![]() Это сообщение отредактировал(а) Ch0bits - 10.4.2007, 19:41 |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
||||
|
||||
Злоумышленник |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 3.9.2006 Репутация: -1 Всего: -3 |
||||
|
||||
Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
Консерватизм в твоём случае тебе не на пользу. Мне тоже было тяжело пересесть с семёрки. Всё казалось неудобным. Глюков было почему то больше. Просто твоя привычка не даёт тебе объективно судить достоинства турбы. |
|||
|
||||
aktuba |
|
||||||||||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: 16 Всего: 38 |
У меня такого на D7 не было. Может просто везет, а может апдейты ставить надо?
НЕ НАДО!!! Я когда первый раз сел за Турбу - тоже не удобно было. А теперь вот неудобно в D7, в плане размещения компонентов.
Она такая стабильная, потому что построена на основе D5 и много лет доводилась до ума. А TD сделана на основе BDS, ей намного меньше. Но, снова таки, ставь апдейты и проблем будет меньше. Ну а если сравнивать D7 и TD как оружие, то D7 - это автомат, а TD - это уже, как-минимум, пулемет. =)
А я, к своему стыду, до сих пор не понимаю, для чего он нужен... Ну не было и ладно...
VCL - это дополнение к языку. Приоритетная задача - все же развитие самого языка. -------------------- ![]() |
||||||||||
|
|||||||||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Кое с чем я уже успел познакомиться, но увидев новые возможности 2007го... ну просто в шоке.
Особенно впечатлила функция одновременного изменения идентификаторов в блоке, а новые возможности классов так вообще! По части гибкости работы с классами тут даже С++ отдыхает. Да теперь код можно писать еще более прозрачным, строго указывая области видимости. Вот насчет раздельного тестирования модулей не совсем ясно. Кто в курсе, что это такое, раскажите подробнее. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
Ch0bits |
|
|||
![]() Python Dev. ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2124 Регистрация: 21.2.2005 Где: Казань Репутация: нет Всего: 62 |
Юнит-тестирование, архиполезная вещь в крупных проектах, пришло из мира java. Проще говоря, когда проект состоит из множества классов и пишется командой разработчиков, мы имеет сильные зависимости. И например, когда в какой-либо класс вносятся изменения, мы не можем точно определить, как это отразится на проекте в целом. Юнит-тестирование позволяет определять правильность работы ключевых звеньев проекта при каждом изменении одной из его составляющих. И ещё: http://ru.wikipedia.org/wiki/%D0%AE%D0%BD%...%BD%D0%B8%D0%B5 |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Alexeis, почитай доку или описание по DUnit.
Я смотрел, трогал... Мне это не нужно. Я могу спокойно 2 недели строчить код, потом за 5 минут поправить все очипятки и всё работает. Проверять работоспособность модулей и классов для меня дико - там же в коде всё написано ![]() |
|||
|
||||
Ch0bits |
|
|||
![]() Python Dev. ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2124 Регистрация: 21.2.2005 Где: Казань Репутация: нет Всего: 62 |
Вот ещё статейка - http://www.exprogramming.ru/Articles/LoveUT.html
Snowy, потому что один разработчик может держать весь проект в голове. А что если пройдёт пара лет и нужно что-то поменять? Хотя если в комментариях ВСЁ написано... ![]() Это сообщение отредактировал(а) Ch0bits - 10.4.2007, 21:39 |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Даже на форуме порой решения даю с комментами формата автодокументатора ![]() Добавлено через 4 минуты и 40 секунд ЗЫ. Когда проходит пара лет, смотришь на свой код и думаешь: "Ну и хрень... Неужели это я написал?!" ![]() |
|||
|
||||
Злоумышленник |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 3.9.2006 Репутация: -1 Всего: -3 |
||||
|
||||
Beltar |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 627 Регистрация: 11.1.2006 Репутация: 3 Всего: 7 |
2 Yanis
Боюсь, что нет. Перегрузка операторов для классов только под .NET. Alexeis
Когда мне приспичило поменять имя мегаглобального для программы типа, я от рефакторинга чуть не кончил. 30 секунд на операцию. ![]() 2 Ch0bits
Такие значит классы. Друг от друга зависимые. -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. ![]() Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере. |
||||||
|
|||||||
Rennigth |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 21.6.2004 Где: Moscow Репутация: 49 Всего: 76 |
![]() ![]() -------------------- (* Honesta mors turpi vita potior *) |
|||
|
||||
Alexeis |
|
||||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Речь уже идет о Delphi2007 for win32, как я понял в ней ввели и для обычных классов.
Так и нужно было чудес ждать, текстовые операции всегда длительные, а если бы переменную использовал, в нескольких модулях, тогда что? Нужно соизмерять возможности операций. В рамках функции средних размеров, все должно отлично работать. Кстати использование всяких глобальных переменных и гигантских функций, как раз говорит о плохом стиле кода. Переменные должны рождаться и умирать в блоках. Такие объекты как формы как правило уникальны, а операции изменения имени черезвычайно редки, потому тут вполне можно и поиском обойтись. Если приходиться часто менять переменные в таких блоках, то следует серьезно задуматься о организации приложения. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
||||
|
|||||
Beltar |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 627 Регистрация: 11.1.2006 Репутация: 3 Всего: 7 |
30 секунд это включая мои действия. ![]()
Ну дык круто блин. Вон в Chrome, так и шаблоны есть. Чем же Сишники размахивать будут, когда они и в Delphi появятся. ![]() -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. ![]() Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере. |
||||
|
|||||
Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
||||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Зато она есть для Advanced Record в Win32. Это как раз и важно, складывать Ежиков с помидорами мало кому прийдет в голову. А для объектов метода Assign(), хватает с головой, чтобы присвоить по значению. Всякие + - шапочки и хвостики удобны для работы с элементами, т.е. простыми объектами, которые вполне теперь могут быть реализованы при помощи Advanced Record. Причем не могут, а должны быть таковыми ведь размер прародителя TObject, думаю многих останавливает, при создании объектов состоящих из 2х 3х integerов. Из-за этого KOL и строилась на старых паскалевских объектах. Для больших и сложных объектов операторы слишком неочевидны, чтобы их использовать. Методы куда понятнее. Но странно, что в обзоре не написано, что только в Win32, от чего напрашивается вывод, что 2007 они будут и в Win32. Нужно уточнить... -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
Beltar |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 627 Регистрация: 11.1.2006 Репутация: 3 Всего: 7 |
2 Alexeis
Кстати, а в новых язычишках типа Gentee и AFAIR Оберона структура и класс идентичны. Вроде неглупые люди делают, но я так и не уловил идеи, ведь объект, как правило большой и передается по ссылке, редко Assign, а структура вполне может копироваться. ![]() -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. ![]() Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере. |
|||
|
||||
s-mike |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 425 Регистрация: 16.1.2005 Где: Киев Репутация: 9 Всего: 16 |
Ну не обучен у нас народ к пользованию лицензионными продуктами.
На сайт CodeGear заходил? Хотфиксы ставил? Должен заметить, что после установки всех хотфиксов среда работает достаточно стабильно. |
|||
|
||||
Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
||||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Beltar, все объекты в Delphi наследники TObject;
Т.е. они по размеру не меньше него самого.
Т.е. нас ожидает табличка VMT на 9 методов. т.е. 9 * 4 = 36 байт + сам объект + указатель на VMT в объекте, т.е. стартуем как минимум уже с 40 байт. Если у нас 2 переменные типа Integer, то размер 48 байт. Итого в лучшем случае 85% размера объекта не наши, а родного TObject. При количестве переменных порядка 10 интов, лишние расходы уже 50%. Вот и задумаешься, когда создаешь список из 100000 таких объектов. У Advanced Record, такого быть не должно, так как она не наследник TObject. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
Beltar |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 627 Регистрация: 11.1.2006 Репутация: 3 Всего: 7 |
2 Alexeis
Дык это понятно. Непонятно, почему несмотря на это в ряде новых языков структуры и класс объединены. -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. ![]() Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере. |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Они объеденены только в строго ОО языках.
В концепции ОО нет понятия структура в её классическом виде. А так это принципиально разные вещи. Структура - блок данных. А объект - набор свойств и методов набором правил, определяеммых классом данного объекта. При всей своей схожести они очень разные. Объект, имеющий поля, может совершенно не хранить никаких данных. А, если и хранит, то далеко не факт, что вообще в одном месте, не говоря уже о порядке следования байт в памяти. Но не понятно к чему это? К сабжу никаким ухом не привязано. |
|||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 4 Всего: 110 |
так в объекте хранится VMT или указатель на неё? (а то и то, и то посчитано) обычно хранится указатель на VMT, т.к. нет смысла хранить кучу одинаковой информации для каждого объекта а уже где-нибудь в глобальной памяти - VMT для каждого класса -------------------- qqq |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
maxim1000, ты прав таки она уникальна тольк для каждого класса.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |