|
|
|
Дестрой у формы выполняется, а у её компонентов не выполняется!
|
|||
|---|---|---|---|
|
#18+
this.oRightClick = CREATEOBJECT("empty") ADDPROPERTY(this.oRightClick, "Parent", this) если строку "ADDPROPERTY(this.oRightClick, "Parent", this)" закоментарить , то форма закроется как положено. Ну и что тут непонятно? Во вновь созданный объект засунул ссылку на грид и хочешь, чтобы она автоматом прибилась? На каком основании? Что кроме тебя знает, что надо при дестрое грида грохнуть еще и этот твой .oRightClick? А в нем ведь есть ссылка на грид. Вот дестрой грида и обламывается. А за ним обламывается дестрой остальных контролов и формы. Дописывай в дестрой грида уничтожение .oRightClick. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2007, 15:40 |
|
||
|
Дестрой у формы выполняется, а у её компонентов не выполняется!
|
|||
|---|---|---|---|
|
#18+
можете промоделировать эту ситуацию: создаем любой компонент пусть - сомбобокс, создадим ему свойство "o", у него в ините пишем строки: public o o = CREATEOBJECT("empty") ADDPROPERTY(o, "Top", 0) ADDPROPERTY(o, "Left", 0) ADDPROPERTY(o, "Height", 0) ADDPROPERTY(o, "BaseClass", "empty") ADDPROPERTY(o, "lSelected", .f.) ADDPROPERTY(o, "Parent", this) this.o = o Все... кладем этот комбо на форму и грузим форму :) :) :) а теперь пробуем форму закрыть :) :) :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2007, 15:44 |
|
||
|
Дестрой у формы выполняется, а у её компонентов не выполняется!
|
|||
|---|---|---|---|
|
#18+
проходящий. this.oRightClick = CREATEOBJECT("empty") ADDPROPERTY(this.oRightClick, "Parent", this) если строку "ADDPROPERTY(this.oRightClick, "Parent", this)" закоментарить , то форма закроется как положено. Ну и что тут непонятно? Во вновь созданный объект засунул ссылку на грид и хочешь, чтобы она автоматом прибилась? На каком основании? Что кроме тебя знает, что надо при дестрое грида грохнуть еще и этот твой .oRightClick? А в нем ведь есть ссылка на грид. Вот дестрой грида и обламывается. А за ним обламывается дестрой остальных контролов и формы. Дописывай в дестрой грида уничтожение .oRightClick. Я ж уже писал это :) :) :): UNBINDEVENTS(this) this.oRightClick = .NULL. this.ofrmStartmenu = .NULL. this.osubmenu = .NULL. DODEFAULT() Разве this.oRightClick = .NULL. не убивает этот empty? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2007, 15:47 |
|
||
|
Дестрой у формы выполняется, а у её компонентов не выполняется!
|
|||
|---|---|---|---|
|
#18+
Работает если в QueryUnload формы вставить код This.Grid1.oRightClick=.F. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2007, 15:54 |
|
||
|
Дестрой у формы выполняется, а у её компонентов не выполняется!
|
|||
|---|---|---|---|
|
#18+
Разве this.oRightClick = .NULL. не убивает этот empty? А должен? Почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2007, 15:57 |
|
||
|
Дестрой у формы выполняется, а у её компонентов не выполняется!
|
|||
|---|---|---|---|
|
#18+
splayn в метод дестрой грида Код: plaintext 1. 2. 3. if !dodefa() вначало или в конец в зависимости от того что делает код предка ты пробовал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2007, 16:06 |
|
||
|
Дестрой у формы выполняется, а у её компонентов не выполняется!
|
|||
|---|---|---|---|
|
#18+
UNBINDEVENTS(this) не нужно все подписанные события для этого объекта уничтожатся при разрушении этого объекта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2007, 16:09 |
|
||
|
Дестрой у формы выполняется, а у её компонентов не выполняется!
|
|||
|---|---|---|---|
|
#18+
пиши set step on в дестрой грида и в анлоад формы после дестрой грида пойдут дестрои неуничтоженных объектов а затем должен стартовать анлоад формы в чем у Вас проблемы??? танцы с бубнами - слушайте одного человека ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2007, 16:11 |
|
||
|
Дестрой у формы выполняется, а у её компонентов не выполняется!
|
|||
|---|---|---|---|
|
#18+
прошелмимопиши set step on в дестрой грида и в анлоад формы после дестрой грида пойдут дестрои неуничтоженных объектов а затем должен стартовать анлоад формы в чем у Вас проблемы??? танцы с бубнами - слушайте одного человека 1. set step on в дестрой грида и в анлоад формы сделал. 2. Запустил форму. 3. Нажал на Х на форме (закрытие). ничего не произошло... просто Х - потух и стал не доступен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2007, 16:21 |
|
||
|
Дестрой у формы выполняется, а у её компонентов не выполняется!
|
|||
|---|---|---|---|
|
#18+
splayn... 3. Нажал на Х на форме (закрытие). ничего не произошло... просто Х - потух и стал не доступен. Такое поведение возможно если где-то стоит команда SUSPEND Попробуй запустить дебагер и посмотреть где именно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2007, 16:38 |
|
||
|
Дестрой у формы выполняется, а у её компонентов не выполняется!
|
|||
|---|---|---|---|
|
#18+
ладно... на этом ВСЕМ огромное спасибо... выкручусь так: в ините грида BINDEVENT(thisform,'QueryUnload', this,'destroy',1) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2007, 16:39 |
|
||
|
Дестрой у формы выполняется, а у её компонентов не выполняется!
|
|||
|---|---|---|---|
|
#18+
кто-то форму держит где-то ссылка такого в своей библиотеке оставлять нельзя в метод QueryUnload set step on и пошагово смотреть как и куда дебаггер идет и что выполняется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2007, 18:28 |
|
||
|
Дестрой у формы выполняется, а у её компонентов не выполняется!
|
|||
|---|---|---|---|
|
#18+
если возможно, нарисуйте маленький пример, демонстрирующий Вашу проблему ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2007, 18:30 |
|
||
|
Дестрой у формы выполняется, а у её компонентов не выполняется!
|
|||
|---|---|---|---|
|
#18+
прошелмимоесли возможно, нарисуйте маленький пример, демонстрирующий Вашу проблему можете промоделировать эту ситуацию: создаем любой компонент пусть - сомбобокс, создадим ему свойство "o", у него в ините пишем строки: Код: plaintext 1. Код: plaintext Можно даже степы понаставлять, где душа пожелает... только дебагер ни к чему не приведет, вернее нигде не остановится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2007, 22:23 |
|
||
|
Дестрой у формы выполняется, а у её компонентов не выполняется!
|
|||
|---|---|---|---|
|
#18+
Как-то сталкивался с похожей проблемой. Похоже пока есть ссылки на объект - фокс сам ему Destroy() не вызывает. Я тогда просто отказался от циклических ссылок. Можешь делать принудительно в Destroy() формы что-то типа: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2007, 10:55 |
|
||
|
Дестрой у формы выполняется, а у её компонентов не выполняется!
|
|||
|---|---|---|---|
|
#18+
долго думал примеры лепил, но .... в Вашем случае подписка на событие является наилучшум способом, но опять-же но .... я в своей практике так объекты не кладу, считаю, что нелогично к объету потомку привязывать родителя, но это для отдельной беседы .... считаю, что такую беду нужно лечить именно иным подходом к построению классов и привязке объектов если необходимо быстро сослаться на родителя, то ведб можно по-другому организовать интерф.методы метод.грида(грид.oEmpty,this) метод.oEmpty(this) из метода грида метод.oEmpty(_screen.activeform.grid) - откуда угодно возможно не стоит добавлять такую ссылку и добавлять св-во в пустой объект, проще взять кастом с наличием у него и парента и .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2007, 14:37 |
|
||
|
Дестрой у формы выполняется, а у её компонентов не выполняется!
|
|||
|---|---|---|---|
|
#18+
про емпти немного наврал типа так бубен.метод(....grid.oEmpty, ....Grid) ну как-то так ... не держать ее в эмпти, а постоянно куда-то передавать доп-но ссылку на того, к кому эмпти положен (ведь Вы все-одно где-то что-то должны сделать..) ну вроде так ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2007, 14:41 |
|
||
|
|

start [/forum/topic.php?fid=41&gotonew=1&tid=1588805]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
12ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
76ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 419ms |

| 0 / 0 |
