Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> объект-создатель? как узнать своего объекта-создателя? 
:(
    Опции темы
~RVS
  Дата 17.4.2003, 09:52 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Встала интересная задача - необходимо в (к примеру) конструкторе создающегося объекта узнать тот объект, в котором породили этот создающийся объект. грубо говоря где написана команда new. логичным казалось бы не морочить голову себе и другим и передавать всё что мне нужно прямо в параметрах конструктора, но такой вариант практически не проходит...
  Вверх
AntonSaburov
Дата 17.4.2003, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 51
Всего: 118



Сгенерить эксепшн и пробежав по стеку узнать из какого места вызвали - вот и получим класс. Хотя IMHO это решение не очень.

Мне сложно представить ситуацию, когда нельзя просто передать параметр. Пусть не в конструкторе (понятно, что через NewInstance не получиться), но потом через вызов какой-либо функции отдать легко.

Ну или перепроектировать - чтобы не надо было так напрягаться.

PM MAIL WWW ICQ   Вверх
~RVS
Дата 17.4.2003, 14:26 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











ситуация такая, что есть большой проект, где что-то накалякано с ипользованием только диалогов, а превратить это хочется в нечто более цивилизованное. вот я в другом форуме ответил - перенабивать не хочется:

===8<===
дело в том, что сейчас я заморачиваюсь написанием красивой библиотечки для работы с вложенными окнами, дак вот для того, чтобы создать "модальное" окно внутри главного фрейма просто необходимо знать, КТО создал этот модельный внутренний фрейм для того, чтобы сделать неактивным именно то окно, откуда было запущено модальное.

всё бы ничего, если бы просто библиотечку написал, а потом пользовались бы ей все. тут однозначно в конструктор передал предка и не заморачиваешься больше.

дело в том, что уже написан большой проект, в куда с минимальными трудозатратами хотелось бы внедрить эту библиотеку. а для этого лишние параметры (в целях совместимости) не желательны.

а проект практически целиком и полностью на JDialog-ах написан...

===8<===
  Вверх
AntonSaburov
Дата 18.4.2003, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 51
Всего: 118



Цитата
а для этого лишние параметры (в целях совместимости) не желательны.


"Мне бы такую работу, чтобы не работать" biggrin.gif

Я не знаю, чем можно помочь в данной ситуации. Информаци о том, где (в какой строке кода) создан объект невозможно получить без передачи объекту этих параметров.

Так что "вы даете нереальные планы" biggrin.gif
PM MAIL WWW ICQ   Вверх
~RVS
Дата 18.4.2003, 12:08 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











про строку, в общем-то речь и не шла... речь про объект шла, откуда оно сработало.

ну да и ладно. оставил я эту идею, в общем.
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0481 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.