![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| kami |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 22 Всего: 72 |
Доброго времени суток, господа!
Вновь я с вопросом по непонятной мне области... Имеем: D2010, Win7. Код, работающий в дополнительном потоке (на всякий случай - синхронизация с другими потоками не требуется, очередь сообщений создана):
Соответственно, по выходу из функции Result указывает в никуда... Как победить и возможно ли это? Не хотелось бы выносить этот код выше по уровню вложенности - ему много где предстоит использоваться... P.S. С xml работать пришлось впервые, так что если есть ошибки/некорректности помимо основного вопроса - также буду признателен на указание оных. |
|||
|
||||
| lomaster |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 27.5.2012 Репутация: нет Всего: 2 |
Ну а чего вы хотели от интерфейсной ссылки? больше ее никто не использует ее разрушили.
Клонировать надо в результат ваш лист. Либо менять подход, к примеру переложить в список объектов, либо XMLDocument создавать раньше а сюда передать параметром, либо еще как, ... от задачи надо исходить. |
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 18 Всего: 88 |
не знаю что хочет ТС, а я хотел бы чтобы объект, реализующий IXMLNodeList хранил ссылку на докумет. Хотя с другой стороны наверное привело бы к циклической ссылке -------------------- Обижено школьников: 8 |
|||
|
||||
| kami |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 22 Всего: 72 |
Как это - никто не использует? Мне очень нужна ее "дочка" - IXMLNodeList. И мне крайне непонятно, почему при наличии ссылки на нужный мне интерфейс убивается его родитель, убивая тем самым и нужную мне информацию.
Имхо, было бы неплохо. Победить это, я так понял, нереально? Значит, придется пересматривать эту часть кода... Эх, где наша не пропадала... |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 22 Всего: 128 |
На то они и интерфейсы. Мало-ли какая там дочка кому нужна. Ссылок на сам интерфейс ноль - интерфейс уничтожился.
И это очень удобно и логично на мой взгляд. А если учитывать, что кто-то где-то на дцатого чилда ссылается, так представляю, как весь этот механизм тормозить начнет. -------------------- There are always someone smarter than you... |
|||
|
||||
| lomaster |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 27.5.2012 Репутация: нет Всего: 2 |
Руками делайте, только вот как вы потом декремент делать будете я даже и предположить не могу. Добавлено через 9 минут и 15 секунд
|
||||||
|
|||||||
| Чучмек |
|
|||
|
НЭТ БИЛЭТ ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 11.5.2008 Где: СССР Репутация: 7 Всего: 41 |
-------------------- умную мысль держи при себе, а дурной - поделись с другими |
|||
|
||||
| kami |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 22 Всего: 72 |
Ну ладно, ладно, пристыдили
Код будет переделан с учетом этой особенности. Добавлено через 4 минуты и 52 секунды Вот только одного в толк не возьму - до того, как перенес этот код в рабочее приложение, тестировал его в однопоточном VCL (простейший вывод результата в мемо). И никаких проблем не было... Чучмек, этого, если честно, хотелось избежать. Ибо в приведенной здесь реализации некому будет делать xml.Release... Или я неправильно понял? |
|||
|
||||
| Чучмек |
|
|||
|
НЭТ БИЛЭТ ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 11.5.2008 Где: СССР Репутация: 7 Всего: 41 |
Да некому. Я сейчас попробовал получить через IXMLNodeList "родителя" - IXMLDocument. Но увы :( -------------------- умную мысль держи при себе, а дурной - поделись с другими |
|||
|
||||
| Чучмек |
|
|||
|
НЭТ БИЛЭТ ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 11.5.2008 Где: СССР Репутация: 7 Всего: 41 |
У IXMLNodeList "родителя" не нашел, а вот у IXMLNode есть OwnerDocument - вот это он и есть родимый.
-------------------- умную мысль держи при себе, а дурной - поделись с другими |
|||
|
||||
![]()
|
| Правила форума "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. |