powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Дестрой у формы выполняется, а у её компонентов не выполняется!
25 сообщений из 42, страница 1 из 2
Дестрой у формы выполняется, а у её компонентов не выполняется!
    #34771695
splayn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте...
О чем может идти речь если Дестрой у формы выполняется, а у её компонентов не выполняется!
Причем я заметил следующее:
На форме есть грид, а у грида в ините я создаю объект:
this.oRightClick = CREATEOBJECT("empty")
ADDPROPERTY(this.oRightClick, "lSelected", .f.)
ADDPROPERTY(this.oRightClick, "Top", 0)
ADDPROPERTY(this.oRightClick, "Left", 0)
ADDPROPERTY(this.oRightClick, "Height", 0)
ADDPROPERTY(this.oRightClick, "BaseClass", "empty")
ADDPROPERTY(this.oRightClick, "Parent", this)

если строку "ADDPROPERTY(this.oRightClick, "Parent", this)" закоментарить , то форма закроется как положено.
...
Рейтинг: 0 / 0
Дестрой у формы выполняется, а у её компонентов не выполняется!
    #34771713
MiklS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
splayn
если строку "ADDPROPERTY(this.oRightClick, "Parent", this)" закоментарить , то форма закроется как положено.
А если не Эзакоментировать, что пишет?
И зачем Grig объект Empty?
...
Рейтинг: 0 / 0
Дестрой у формы выполняется, а у её компонентов не выполняется!
    #34771755
MiklS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Читайте Help!!!!!!!
References the container object of a control. Not available at design time; read-only at run time
...
Рейтинг: 0 / 0
Дестрой у формы выполняется, а у её компонентов не выполняется!
    #34771780
splayn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MiklS splayn
если строку "ADDPROPERTY(this.oRightClick, "Parent", this)" закоментарить , то форма закроется как положено.
А если не Эзакоментировать, что пишет?
И зачем Grig объект Empty?

Ничего не пишет, просто все контролы остаются на своих местах, а форму закрыть нельзя, только свернуть или развернуть.

Этот объект необходим при создания всплывающего меню по правому клику на гриде.
...
Рейтинг: 0 / 0
Дестрой у формы выполняется, а у её компонентов не выполняется!
    #34771802
splayn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MiklS Читайте Help!!!!!!!
References the container object of a control. Not available at design time; read-only at run time

in run time тоже самое...
...
Рейтинг: 0 / 0
Дестрой у формы выполняется, а у её компонентов не выполняется!
    #34771810
MiklS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Этот объект необходим при создания всплывающего меню по правому клику на гриде.
Зачем он нужен для меню?
Меню можно запустить прямо из TextBox в методе MouseDown
Код: plaintext
1.
2.
IF nButton= 2 
    *Запускаешь меню
ENDIF
...
Рейтинг: 0 / 0
Дестрой у формы выполняется, а у её компонентов не выполняется!
    #34771819
MiklS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
read only переводится только для чтения!!!!!!!!!
...
Рейтинг: 0 / 0
Дестрой у формы выполняется, а у её компонентов не выполняется!
    #34771847
splayn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MiklS read only переводится только для чтения!!!!!!!!!
Что Вы этим хотите сказать?
...
Рейтинг: 0 / 0
Дестрой у формы выполняется, а у её компонентов не выполняется!
    #34771885
splayn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поясню...
"Контейнер" empty мне нужен для хранения таких свойств как отступ слева, отступ сверху, ширина меню, родитель и еще пара свойств... по этому при создании формы меню я в форму передаю этот обект...
...
Рейтинг: 0 / 0
Дестрой у формы выполняется, а у её компонентов не выполняется!
    #34771896
в дестрое грида
написать

this.oRightClick = .f.

форма закроется

закрытие формы происходит в след-м порядке

автор
1. Form.queryUnload()
2. Form.destroy()
3. Form.[command buttons].destroy()
4. Form.[objects].destroy()
5. Form.unload()
6. DataEnvironment.afterCloseTables()
7. DataEnvironment.destroy()
...
Рейтинг: 0 / 0
Дестрой у формы выполняется, а у её компонентов не выполняется!
    #34771902
MiklS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как я уже говорил, Ваш Empty не нужен, но если Вы всётаки хотите сделать всё через ...., то добавляйте этот объект не в Grid, а в саму форму и ссылку делайте на Grid - ADDPROPERTY(this.oRightClick, "MyObject", this.Grid1)
...
Рейтинг: 0 / 0
Дестрой у формы выполняется, а у её компонентов не выполняется!
    #34771930
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если настройки относятся к сущности какого-то объектя, то и объединять
эти объекты нужно таким-же образом

если настройки гридовые, то и объект нужно поднимать у грида

неплохо если это все в библиотек сделано методами наследования
от базовых классов
...
Рейтинг: 0 / 0
Дестрой у формы выполняется, а у её компонентов не выполняется!
    #34771931
splayn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MiklSКак я уже говорил, Ваш Empty не нужен, но если Вы всётаки хотите сделать всё через ...., то добавляйте этот объект не в Grid, а в саму форму и ссылку делайте на Grid - ADDPROPERTY(this.oRightClick, "MyObject", this.Grid1)

Раз уж зашел такой разговор... ВАМ не приходило в голову, что у каждого грида может быть свое собственное меню... мало ли может гридов на форме больше одного... этот "лабораторный" случай я специально привел в качастве примера...
...
Рейтинг: 0 / 0
Дестрой у формы выполняется, а у её компонентов не выполняется!
    #34771936
splayn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пришелмимов дестрое грида
написать

this.oRightClick = .f.

форма закроется

закрытие формы происходит в след-м порядке

автор
1. Form.queryUnload()
2. Form.destroy()
3. Form.[command buttons].destroy()
4. Form.[objects].destroy()
5. Form.unload()
6. DataEnvironment.afterCloseTables()
7. DataEnvironment.destroy()


Это мой дестрой в гриде
UNBINDEVENTS(this)
this.oRightClick = .NULL.
this.ofrmStartmenu = .NULL.
this.osubmenu = .NULL.
DODEFAULT()
...
Рейтинг: 0 / 0
Дестрой у формы выполняется, а у её компонентов не выполняется!
    #34771941
splayn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
просто поставил степ в дестрое формы он выполнился и все.... дестрой у контролов не выполняются...
...
Рейтинг: 0 / 0
Дестрой у формы выполняется, а у её компонентов не выполняется!
    #34771947
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 splayn

возможно Вам следует использовать массив
или класс коллекшин

т.к. с эмпти оч.тяжело искать что-то - только перебором или
точно по имени проперти + у него нет интерфейса (методов и событий)
...
Рейтинг: 0 / 0
Дестрой у формы выполняется, а у её компонентов не выполняется!
    #34771948
splayn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а это свойство парент мне необходимо для рекурсивного вызова функции, в которой я высчитываю левый и верхний отступ появляющегося меню.
...
Рейтинг: 0 / 0
Дестрой у формы выполняется, а у её компонентов не выполняется!
    #34771962
MiklS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну в таком случает Grid легче сделать на основе своего класса. Там хоть можно создавать не только свои свойства, но и методы обработки. А хранить настройки можно и в самом Grid -
This.AddProperty("lSelected")
Ну и так далее. Зачем для этого использовать "лишний" объект?
...
Рейтинг: 0 / 0
Дестрой у формы выполняется, а у её компонентов не выполняется!
    #34771963
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автордестрой у контролов не выполняются

я же тебе объяснил - прибей
свойство, в котором хранится объект, у которого видно ссылка
на форму

это делается в методах таких хитрых классов
при наступлении таких событий
...
Рейтинг: 0 / 0
Дестрой у формы выполняется, а у её компонентов не выполняется!
    #34772005
splayn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MiklSНу в таком случает Grid легче сделать на основе своего класса. Там хоть можно создавать не только свои свойства, но и методы обработки. А хранить настройки можно и в самом Grid -
This.AddProperty("lSelected")
Ну и так далее. Зачем для этого использовать "лишний" объект?

А много ли Вы встречали гридов со свойством oRightClick?
...
Рейтинг: 0 / 0
Дестрой у формы выполняется, а у её компонентов не выполняется!
    #34772027
MiklS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это понятно, но
ThisForm.Grid1.oRightClick.lSelected=.T.
или
ThisForm.Grid1.lSelected=.T.
получается короче, хотя смысл остаётся тот же!!!!!
...
Рейтинг: 0 / 0
Дестрой у формы выполняется, а у её компонентов не выполняется!
    #34772042
splayn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MiklSЭто понятно, но
ThisForm.Grid1.oRightClick.lSelected=.T.
или
ThisForm.Grid1.lSelected=.T.
получается короче, хотя смысл остаётся тот же!!!!!

Так... значит empty есть, был, и будет быть :).. это необходимо для переносимости меню на другие компоненты, а не только на любой грид... вопрос в другом... (см. выше!!!!)
...
Рейтинг: 0 / 0
Дестрой у формы выполняется, а у её компонентов не выполняется!
    #34772059
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
UNBINDEVENTS(this)
this.oRightClick = .NULL.
this.ofrmStartmenu = .NULL.
this.osubmenu = .NULL.
DODEFAULT()

ну выдумщик

можешь не отписываться от событий
они из стека сами грохнутся при умирании объекта

дудефайлт - там метод предка какого-то
у тебя пронаследованные классы???

не нулл, .f.



Код: plaintext
1.
2.
3.
4.
with this
store .f. to .oRightClick, .ofrmStartmenu,.osubmenu
endw 

...
Рейтинг: 0 / 0
Дестрой у формы выполняется, а у её компонентов не выполняется!
    #34772077
splayn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
прошелмимо
Код: plaintext
1.
2.
3.
4.
5.
UNBINDEVENTS(this)
this.oRightClick = .NULL.
this.ofrmStartmenu = .NULL.
this.osubmenu = .NULL.
DODEFAULT()

ну выдумщик

можешь не отписываться от событий
они из стека сами грохнутся при умирании объекта

дудефайлт - там метод предка какого-то
у тебя пронаследованные классы???

не нулл, .f.



Код: plaintext
1.
2.
3.
4.
with this
store .f. to .oRightClick, .ofrmStartmenu,.osubmenu
endw 




да у меня пронаследованные классы. :) :) :) именно
...
Рейтинг: 0 / 0
Дестрой у формы выполняется, а у её компонентов не выполняется!
    #34772090
MiklS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну может быть и так, как говорится - у каждого свои недостатки.
А для переносимости меню на другие компоненты - всё равно кидать его нужно не в Grid a Form!!!!!!!
И ссылки получаются короче!!!!!!
...
Рейтинг: 0 / 0
25 сообщений из 42, страница 1 из 2
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Дестрой у формы выполняется, а у её компонентов не выполняется!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]