|
|
|
Все открытые классы
|
|||
|---|---|---|---|
|
#18+
Господа, вот перебрать все открытые формы - это: Код: plaintext 1. 2. 3. А как перебрать все открытые классы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2006, 09:03 |
|
||
|
Все открытые классы
|
|||
|---|---|---|---|
|
#18+
Т.е. все типы в приложении ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2006, 10:22 |
|
||
|
Все открытые классы
|
|||
|---|---|---|---|
|
#18+
Наверное имеется ввиду "классы, чьи экземпляры еще не все уничтожены". Нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2006, 10:38 |
|
||
|
Все открытые классы
|
|||
|---|---|---|---|
|
#18+
В смысле никак. Или ты должен написать процедуру, которая просматривает значение всех объектных переменных и коллекций уровня модуля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2006, 10:41 |
|
||
|
Все открытые классы
|
|||
|---|---|---|---|
|
#18+
Antonariyи коллекцийВ смысле элементов коллекций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2006, 10:43 |
|
||
|
Все открытые классы
|
|||
|---|---|---|---|
|
#18+
может быть через Add-in (надстройки) но не уверен что там есть все коллекции ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2006, 11:22 |
|
||
|
Все открытые классы
|
|||
|---|---|---|---|
|
#18+
Я обычно использую такую схему ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2006, 13:11 |
|
||
|
Все открытые классы
|
|||
|---|---|---|---|
|
#18+
NikzЯ обычно использую такую схему Спасибо. Что-то подобное мне и приходиться делать. AntonariyИли ты должен написать процедуру, которая просматривает значение всех объектных переменных и коллекций уровня модуля. А это как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2006, 14:02 |
|
||
|
Все открытые классы
|
|||
|---|---|---|---|
|
#18+
Интересно, а зачем это надо - получить список всех созданных объектов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2006, 15:35 |
|
||
|
Все открытые классы
|
|||
|---|---|---|---|
|
#18+
Видимо, чтоб потом их поубивать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2006, 15:41 |
|
||
|
Все открытые классы
|
|||
|---|---|---|---|
|
#18+
WorobjoffИнтересно, а зачем это надо - получить список всех созданных объектов? Ну можно предположить, что так хотят бороться с memory leaks ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2006, 15:41 |
|
||
|
Все открытые классы
|
|||
|---|---|---|---|
|
#18+
MelkiadesВидимо, чтоб потом их поубивать. Это во-первых. А во-вторых - по некоторому событию необходимо обновить информацию во всех открытых экземплярах классов. Кста, нашел тут GUI Resource Tracer - вобщем-то не совсем по теме, но может кому пригодится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2006, 00:23 |
|
||
|
Все открытые классы
|
|||
|---|---|---|---|
|
#18+
RustygoldА во-вторых - по некоторому событию необходимо обновить информацию во всех открытых экземплярах классов. ну и пусть они подпишутся на это событие. Уж это то можно сделать совершенно штатными средствами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2006, 10:43 |
|
||
|
Все открытые классы
|
|||
|---|---|---|---|
|
#18+
Напрямую убивать объекты бессмыслица. См. "буквари". Надо погасить все ссылки на корневой объект в иерархии, и все убъется само. Но при условии что Нет циклической ссылки. Вот поэтому, кстати, надо подписываться на события (чтобы среагировать на изменение каких-то глобальных настроек). Иногда новички ведут параллельно иерархию объектов и вложенность форм. То же мешает "чистке объектов". Из-за обилия дублирующегося кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2006, 10:57 |
|
||
|
Все открытые классы
|
|||
|---|---|---|---|
|
#18+
Worobjoff... Но при условии что Нет циклической ссылки. Вот поэтому, кстати, надо подписываться на события (чтобы среагировать на изменение каких-то глобальных настроек). ...Поясните пожалуйста как "подписываение на событие" поможет решить проблему циклической ссылки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2006, 11:17 |
|
||
|
Все открытые классы
|
|||
|---|---|---|---|
|
#18+
В данном случае, Rustygold хочет передать объектам находящимся в разных местах како-то параметр (ну допустим код языка). Чтобы передать всем объектам этот код нужно либо 1) держать коллекцию со ссылками на эти объекты. либо 2) каждый объект подписывать на событие. В первом случае объекты НЕ выгрузятся из памяти до тех пор пока эта коллекция не будет очищена. Как сделать "очистку" в данном случае - ну кому хочется - пусть повозятся. А события не держат ссылки. События позволяют избежать циклической ссылки и в случае когда объект помещаемый в контейнерный класс должен иметь ссылку на экземпляр своего контейнера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2006, 11:33 |
|
||
|
Все открытые классы
|
|||
|---|---|---|---|
|
#18+
Worobjoff А объясните, пожалуйста, "букварьную истину" - как подписать объект на событие? и как это событие сынициировать, чтоб его все кому надо подхватили? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2006, 11:41 |
|
||
|
Все открытые классы
|
|||
|---|---|---|---|
|
#18+
WorobjoffВ данном случае, Rustygold хочет передать объектам находящимся в разных местах како-то параметр (ну допустим код языка). Чтобы передать всем объектам этот код нужно либо 1) держать коллекцию со ссылками на эти объекты. либо 2) каждый объект подписывать на событие. В первом случае объекты НЕ выгрузятся из памяти до тех пор пока эта коллекция не будет очищена. Как сделать "очистку" в данном случае - ну кому хочется - пусть повозятся. А события не держат ссылки. События позволяют избежать циклической ссылки и в случае когда объект помещаемый в контейнерный класс должен иметь ссылку на экземпляр своего контейнера. Про циклические ссылки я знаю и как с ними бороться тоже, но ваша мысль осталась "вещью в себе". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2006, 11:46 |
|
||
|
Все открытые классы
|
|||
|---|---|---|---|
|
#18+
class clsCodeWatcher: Код: plaintext 1. 2. 3. 4. Код: plaintext 1. 2. 3. 4. class clsSomeOne Код: plaintext 1. 2. 3. 4. 5. 6. 7. Стоит вызвать функцию Module1.CodeWatcher.SendNewCode xxx - все объекты получат это новое значение xxx ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2006, 11:51 |
|
||
|
Все открытые классы
|
|||
|---|---|---|---|
|
#18+
Старый ворчунПро циклические ссылки я знаю и как с ними бороться тоже, но ваша мысль осталась "вещью в себе". class MyCollection Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Код: plaintext 1. 2. 3. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2006, 12:04 |
|
||
|
Все открытые классы
|
|||
|---|---|---|---|
|
#18+
Это был грубый пример развязки коллекции и ее итемов. С недостатками конечно. Если интересно, вечером выложу пример погибче. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2006, 12:07 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=34166534&tid=2164891]: |
0ms |
get settings: |
10ms |
get forum list: |
21ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
196ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
| others: | 241ms |
| total: | 557ms |

| 0 / 0 |
