Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.08.2010, 15:33   #21
Ins
Форумчанин
 
Регистрация: 29.12.2007
Сообщений: 137
По умолчанию

Вот еще вопрос:
4. Что будет если я изменю тип параметра или тип не изменю, но изменится размер типа (например, добавлю новые значения к перечислимому типу)? Опять адреса поплывут

А вот мои комменты по твоим ответам:
1. Вот оно проявление замедленного действия. Сейчас ты пишешь это для себя и, допустим, не будешь этого делать ибо помнишь. Завтра ты работаешь в команде. Не ты, я, работая с тобой вместе, захочу порядок поменять. Кто виноват в появившемся баге, я или ты?
2. Если утебя жесткая привязка к адресам полей, то ты удивишься, когда они изменятся из-за выравнивания Да-да, это не сказка, это реальность
3. Сегодня ты уверен что не будешь работать с интерфейсам ибо не умеешь. Ты действительно в этом убежден, я понимаю. Но вдруг завтра ты научишься? Откуда ты знаешь, что этому мешает? Научишься и поймешь, что реализовав в объекте интерфейс вообще круто сделаешь! А тут - бац! - все сломалось.

Объяснил в чем быдлокод?
Ins вне форума Ответить с цитированием
Старый 09.08.2010, 15:39   #22
Selestis
Форумчанин
 
Аватар для Selestis
 
Регистрация: 21.01.2009
Сообщений: 719
По умолчанию

Я отредактировал прошлый пост, посмотри, если не трудно)
4) У меня нет перечислимых типов в этих структурах данных. Да и опять же возвращаемся к тоому, что всё это описано в настройках должно быть... Об этом я уже рассуждал..
------
1) Это проект любительский, делать его я буду сам, иначе о многом бы пришлось подумать)))
2) см. прошлый пост + в принципе можно сделать выравнивание, подходящее мне, хотя это уже маразмом пахнет...
3) Что ж, может и научусь, но тогда всё равно много придется переделывать... А текущая архитектура не предусматривает их, там просто ну нет необходимости в интерфейсах, судя по тому, что я о них всё же знаю...

Частично объяснил, но только частично ;-)
Изобретатель велосипедов
Selestis вне форума Ответить с цитированием
Старый 09.08.2010, 15:39   #23
Ins
Форумчанин
 
Регистрация: 29.12.2007
Сообщений: 137
По умолчанию

Цитата:
Не трудно выложить примерчик с этим?
Не это имелось в виду. Имелось в виду, что до добавления к классу нового поля и после добавления адреса одноименных полей могут поменяться. Для экспериментов попробуй поля с размером не кратным 4, особенно Boolean (1 байт), Extended (10 байт) - самые распространенные типы из таковых
Ins вне форума Ответить с цитированием
Старый 09.08.2010, 15:47   #24
Selestis
Форумчанин
 
Аватар для Selestis
 
Регистрация: 21.01.2009
Сообщений: 719
По умолчанию

Да, попробовал и нашёл) Вобщем-то понятна мысль.
Только не смейтесь, но у меня все поля кратны 4, повезло... xD В других нет необходимости. Но надо будет учесть всё равно...
Ред.:
Вот я тут копался и нашел такое:
Цитата:
Для объектов, RTTI информация генерируется компилятором для свойств и методов, описанных в секции published в следующих случаях:
......
Свойство-массив не может быть published
Упс) Это правда так?
Нашел тут: http://www.delphisources.ru/pages/fa...tice_rtti.html (несколько первых абзацев)
Изобретатель велосипедов

Последний раз редактировалось Selestis; 09.08.2010 в 15:52.
Selestis вне форума Ответить с цитированием
Старый 09.08.2010, 15:54   #25
Ins
Форумчанин
 
Регистрация: 29.12.2007
Сообщений: 137
По умолчанию

Правда. Но списки значений с помощью RTTI сохранить все-равно просто
Ins вне форума Ответить с цитированием
Старый 09.08.2010, 15:56   #26
Selestis
Форумчанин
 
Аватар для Selestis
 
Регистрация: 21.01.2009
Сообщений: 719
По умолчанию

Списки значений - это что именно?
У меня 2 случая с массивами:
1) фиксированные в 3 и 4 single
2) динамический из черт знает чего
Ни один из них не прокатит или только второй?

Хотя, вобщем-то, можно и ручками это как-то попытаться сделать) Попытаюсь заюзать сие чудо, может получится..
Изобретатель велосипедов

Последний раз редактировалось Selestis; 09.08.2010 в 16:01.
Selestis вне форума Ответить с цитированием
Старый 09.08.2010, 16:03   #27
Ins
Форумчанин
 
Регистрация: 29.12.2007
Сообщений: 137
По умолчанию

Просто тут нужен не массив в published. Смотря как делать будешь - если используя стандартные инструменты сериализации - то см. DefineProperties или может TCollection (но здесь этот класс по-моему излишне громоздок), если по моей статье - то CustomSerialize или TSyCollection

Последний раз редактировалось Ins; 09.08.2010 в 16:07.
Ins вне форума Ответить с цитированием
Старый 09.08.2010, 16:11   #28
Selestis
Форумчанин
 
Аватар для Selestis
 
Регистрация: 21.01.2009
Сообщений: 719
По умолчанию

Ладно, буду копать в эту сторону... Ещё раз спасибо, увы я не могу поставить ещё один плюсик)
Тему можно закрывать.
Изобретатель велосипедов
Selestis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание динамического Comboboxа ! web_lover Microsoft Office Excel 6 24.06.2010 23:02
Зависимость размера рисунка от размера формы Hippie Мультимедиа в Delphi 3 18.05.2010 10:46
Поиск динамического Memo Fezilk Общие вопросы Delphi 7 26.08.2009 20:39
Изменение размера динамического массива налету Zeraim Общие вопросы Delphi 12 26.07.2009 14:23
сортировка динамического списка new_sergei Помощь студентам 1 19.12.2008 00:36