![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| W1zArD |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 285 Регистрация: 29.1.2006 Репутация: 3 Всего: 3 |
или Edit1.Tag:=Integer('string') а как обратно?
к примеру edit2.text:=string(edit1.tag) ничего не дает... как приобразовывать? |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
не очень хорошая идея, имхо, хранить что либо в tag, кроме integer...
лучше использовать TSringList с "ссылками" на edit'ы в object'ах... но если все-таки хочется поизвращаться с хранением string с помощью tag, то можно в нем сохранять указатель на строку... + не забывать про счетчик ссылок. либо юзать PChar и выделять память самому... -------------------- There are always someone smarter than you... |
|||
|
||||
| aktuba |
|
|||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: 16 Всего: 38 |
Имхо, единственно верное решение... -------------------- ![]() |
|||
|
||||
| W1zArD |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 285 Регистрация: 29.1.2006 Репутация: 3 Всего: 3 |
StrToInt число в символ... и вообще знаю что это... ;)
ладно... буду работать с указателями... $| |
|||
|
||||
| VICTAR |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 37 Всего: 80 |
|
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
VICTAR, а подсчетом ссылок кто будет заниматься? память выделять/освобождать?
поменяй в своем примере 'string' на допустим IntToStr(100)... и получишь мусор в button2click'е... Это сообщение отредактировал(а) MetalFan - 2.3.2007, 22:54 -------------------- There are always someone smarter than you... |
|||
|
||||
| VICTAR |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 37 Всего: 80 |
MetalFan, а что мой код не работает?
|
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
VICTAR, работает. но только в частном случае. см. мой предыдущий пост.
-------------------- There are always someone smarter than you... |
|||
|
||||
| VICTAR |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 37 Всего: 80 |
Ок, я не настаиваю.
Хотя вот так работает
Если не так, поправь меня |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
VICTAR, ну ясен пень. глобальные переменная. тогда зачем вообще изврат с tag использовать?
-------------------- There are always someone smarter than you... |
|||
|
||||
| VICTAR |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 37 Всего: 80 |
переменная одна, а tag`ов может быть много. Повторяю еще раз, я не настаиваю на своем решении, как на безупречно правильном. Честно говоря, не вижу где(для чего) здесь нужно выделить память... MetalFan, приведи, пож-та, код. Все станет ясно |
|||
|
||||
| aktuba |
|
||||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: 16 Всего: 38 |
Может я не прав, никогда не использовал такое, но вот логические рассуждения:
Создается строка 'string', счетчик = 1, ссылка на строку присваивается Edit1.Tag. Строка освободится (и соответственно счетчик) тогда, когда будет удален компонент Edit1. Вот и все. Metalfan, где я не прав? -------------------- ![]() |
||||
|
|||||
| Alexeis |
|
||||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Если сильно захотеть то можно Например такой изврат
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
||||
|
|||||
| W1zArD |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 285 Регистрация: 29.1.2006 Репутация: 3 Всего: 3 |
Alexeis вот это извернулся ))))
|
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
1) она не "создается" в том месте, где происходит присваивание. т.к. ее адрес уже будет известен на этапе компиляции. все равно, что использовать констатну. так что все ваши примеры не будут работать в случае динамического вычисления значения строки. 2) откуда ЗНАТЬ Edit1, что в его целочисленном поле TAG хранится ссылка на строку? с чего это будет удаляться строка при удалении Edit1??? бред полнейшие, imnsho. известно, что динамические строки(AnsiString) содержут свою длину в двойном слове по смещению -4 от начала строки и счетчик ссылок по смещению -8 от того же начала строки. пробуем следующий код.
но если в начале "присвоить" опять же просто 'string', то все работает. ибо этот ваш стринг нифига не "динамически" создается. Alexeis, те же яйца, только сбоку. Это сообщение отредактировал(а) MetalFan - 3.3.2007, 10:18 -------------------- There are always someone smarter than you... |
|||
|
||||
![]()
|
| Правила форума "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. |