Dilma, между прочим, в KOL есть такая фигня, как залочивание контрола при вызове динамических хэндлеров. И разлочивание (с безопасным возможным Free) после этого.
Видимо не устоял когда-то и Кладов против любителей не мыть руки перед едой
Самое смешное, что все это как мертвому припарки, если из этого хендлера уничтожать не самого себя, а скажем парента, да еще и далекого...
Но мы устоим
Этот топик читают: Гость
Ответов: 9906
Рейтинг: 351
|
|||
карма: 9 |
|
Ответов: 964
Рейтинг: 12
|
|||
"... Мы сдали план по чегуну и стали !
- так и стоим, соять уже устали..." Так что с первым элементом ? И как очисть список целиком |
|||
карма: 0 |
|
Ответов: 9906
Рейтинг: 351
|
|||
AlexKir писал(а): Так что с первым элементом ? И как очисть список целиком Вопрос непонятен: первый элемент чего какой список очистить |
|||
карма: 9 |
|
Ответов: 964
Рейтинг: 12
|
|||
Сори , ложная тревога при вызове из вне все вполне очищает и удаляет !
Значит просто нужно пересмотреть логику работы так чтобы все управление было снаружи .
|
|||
карма: 0 |
|
Ответов: 9906
Рейтинг: 351
|
|||
AlexKir, а топик прочитать в лом было
[size=-2]------ Добавлено в 14:03 Честное слово, здорово утомляет говорить одно и то же для каждого |
|||
карма: 9 |
|
Ответов: 964
Рейтинг: 12
|
|||
Значит нужно завести толковый "официальный" ЧаВо расположенный так чтобы сразу бросался в глаза .
Зы Все-же ХайАсм предлагает действительно совершенно особый способ программирования и требует несколько другого образа мышления чем при написании классического кода . А это значит что привычные приемы и связки могут сильно подвести .Следовательно не плохо бы заняться методологией программирования на ХайАсме . Показать типовые решения типовых задач или возможно стоит "сжульничать" создавая обходные пути для наиболее часто и упорно повторяемых логических ошибок-ловушек. (в данном конкретном случае проблему может решить точка hiPanel doFree или EditMultiEx ##onFree ) . |
|||
карма: 0 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
несбыточное предложение
|
|||
карма: 27 |
|
Ответов: 9906
Рейтинг: 351
|
|||
AlexKir писал(а): и требует несколько другого образа мышления чем при написании классического кода Не согласен Мне кажется, что он просто требует ПРАВИЛЬНОГО образа мышления, значительно более приближенного к ООП. Грубо говоря, если ДРУГОГО, то и на классическом программировании ты мало что напишешь И попробуйте мне проаргументировать обратное [size=-2]------ Добавлено в 16:25 AlexKir писал(а): в данном конкретном случае проблему может решить точка hiPanel doFreeЕсли проблема в понимании, что самого себя уничтожать нельзя, то такая точка врядли поможет Даже берусь утверждать, что это вовсе не особенность HiAsm. Так устроена жизнь в Программировании вообще. Ну это так, ремарка для знатоков классического программирования |
|||
карма: 9 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
ну на самом деле решить-то проблему точкой doFree конечно можно В кодах делается отложенное уничтожение, реально вызываемое только при выходе из контейнера и всего делов-то. Будет безусловно удобно
|
|||
карма: 27 |
|
Ответов: 9906
Рейтинг: 351
|
|||
По правильному, надо прилепить обработчик для CM_EXECPROC в цикл приема из очереди сообщений.
Который при hwnd=0 будет делать что-то типа такого
А мультик превратить в элемент или IC со значительно более простыми действиями. Отложенное событие может не только для самоудаления сгодиться. |
|||
карма: 9 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
лучше отложить путем подсчета вложенности. Т.е. вошли в динамический мультик выполнили:
|
|||
карма: 27 |
|
Ответов: 9906
Рейтинг: 351
|
|||
AlexKir писал(а): Значит нужно завести толковый "официальный" ЧаВо расположенный так чтобы сразу бросался в глаза Для Писателей - не поможет. Пример реализации был во втором посте топика, а чтение, Вами лично, произошло только после нелицеприятного напоминания. А Читатели видели это уже несколько раз на форуме. |
|||
карма: 9 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Dilma писал(а): Т.е. вошли в динамический мультик выполнили:
|
|||
карма: 9 |
| ||
файлы: 1 | code_1863.txt [1.3KB] [353] |
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
а вот в такой действительно только по событию в очереди сообщений Видимо нужно разделять два метода:
1) с возможностью внутреннего вызова(всегда возможна синхронизация через очередь) 2) без возможности внутреннего вызова(не факт, что есть обработчик очереди) и соответственно две точки doFree. причем такую ситуацию: code_1864.txt видимо оставляем как нештатную |
|||
карма: 27 |
| ||
файлы: 1 | code_1864.txt [501B] [476] |
Ответов: 9906
Рейтинг: 351
|
|||
Dilma писал(а): и соответственно две точки doFreeРасскажите, зачем нужны точки doFree Если у пользователя отсутствует понимание того, что Уничтожить - несовместимо с продолжением Действий, так он будет делать delete, и создавать такие топики. Писать в них про необходимость FAQ-а, и т.п.. А если понимает, то создать таймерную развязку - не есть проблема. В первом случае, эффективной помощью является разъяснение ситуации (типа: если выстрелить себе в висок, то позвонить соседу уже ну никак не получится) Если пользователь НЕ ХОЧЕТ вникать, то нет у меня желания помогать ему какими-то, работающими через раз, методами. Во втором - можно подумать над созданием элемента, делающего то же самое (что и таймерная развязка) более эффективно. И более абстрактного - его применение не ограничивается именно уничтожением, и именно экземпляра мультика. Ну, скажем, организовать событие после открытия модальной формы... |
|||
карма: 9 |
|