Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Дестрой у формы выполняется, а у её компонентов не выполняется! / 25 сообщений из 42, страница 1 из 2
03.09.2007, 14:05
    #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
03.09.2007, 14:14
    #34771713
MiklS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дестрой у формы выполняется, а у её компонентов не выполняется!
splayn
если строку "ADDPROPERTY(this.oRightClick, "Parent", this)" закоментарить , то форма закроется как положено.
А если не Эзакоментировать, что пишет?
И зачем Grig объект Empty?
...
Рейтинг: 0 / 0
03.09.2007, 14:22
    #34771755
MiklS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дестрой у формы выполняется, а у её компонентов не выполняется!
Читайте Help!!!!!!!
References the container object of a control. Not available at design time; read-only at run time
...
Рейтинг: 0 / 0
03.09.2007, 14:28
    #34771780
splayn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дестрой у формы выполняется, а у её компонентов не выполняется!
MiklS splayn
если строку "ADDPROPERTY(this.oRightClick, "Parent", this)" закоментарить , то форма закроется как положено.
А если не Эзакоментировать, что пишет?
И зачем Grig объект Empty?

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

Этот объект необходим при создания всплывающего меню по правому клику на гриде.
...
Рейтинг: 0 / 0
03.09.2007, 14:33
    #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
03.09.2007, 14:34
    #34771810
MiklS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дестрой у формы выполняется, а у её компонентов не выполняется!
Этот объект необходим при создания всплывающего меню по правому клику на гриде.
Зачем он нужен для меню?
Меню можно запустить прямо из TextBox в методе MouseDown
Код: plaintext
1.
2.
IF nButton= 2 
    *Запускаешь меню
ENDIF
...
Рейтинг: 0 / 0
03.09.2007, 14:35
    #34771819
MiklS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дестрой у формы выполняется, а у её компонентов не выполняется!
read only переводится только для чтения!!!!!!!!!
...
Рейтинг: 0 / 0
03.09.2007, 14:41
    #34771847
splayn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дестрой у формы выполняется, а у её компонентов не выполняется!
MiklS read only переводится только для чтения!!!!!!!!!
Что Вы этим хотите сказать?
...
Рейтинг: 0 / 0
03.09.2007, 14:50
    #34771885
splayn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дестрой у формы выполняется, а у её компонентов не выполняется!
Поясню...
"Контейнер" empty мне нужен для хранения таких свойств как отступ слева, отступ сверху, ширина меню, родитель и еще пара свойств... по этому при создании формы меню я в форму передаю этот обект...
...
Рейтинг: 0 / 0
03.09.2007, 14:51
    #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
03.09.2007, 14:52
    #34771902
MiklS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дестрой у формы выполняется, а у её компонентов не выполняется!
Как я уже говорил, Ваш Empty не нужен, но если Вы всётаки хотите сделать всё через ...., то добавляйте этот объект не в Grid, а в саму форму и ссылку делайте на Grid - ADDPROPERTY(this.oRightClick, "MyObject", this.Grid1)
...
Рейтинг: 0 / 0
03.09.2007, 14:59
    #34771930
прошелмимо
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дестрой у формы выполняется, а у её компонентов не выполняется!
если настройки относятся к сущности какого-то объектя, то и объединять
эти объекты нужно таким-же образом

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

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

Раз уж зашел такой разговор... ВАМ не приходило в голову, что у каждого грида может быть свое собственное меню... мало ли может гридов на форме больше одного... этот "лабораторный" случай я специально привел в качастве примера...
...
Рейтинг: 0 / 0
03.09.2007, 15:00
    #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
03.09.2007, 15:01
    #34771941
splayn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дестрой у формы выполняется, а у её компонентов не выполняется!
просто поставил степ в дестрое формы он выполнился и все.... дестрой у контролов не выполняются...
...
Рейтинг: 0 / 0
03.09.2007, 15:03
    #34771947
прошелмимо
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дестрой у формы выполняется, а у её компонентов не выполняется!
2 splayn

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

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

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

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

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

Так... значит empty есть, был, и будет быть :).. это необходимо для переносимости меню на другие компоненты, а не только на любой грид... вопрос в другом... (см. выше!!!!)
...
Рейтинг: 0 / 0
03.09.2007, 15:30
    #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
03.09.2007, 15:35
    #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
03.09.2007, 15:38
    #34772090
MiklS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дестрой у формы выполняется, а у её компонентов не выполняется!
Ну может быть и так, как говорится - у каждого свои недостатки.
А для переносимости меню на другие компоненты - всё равно кидать его нужно не в Grid a Form!!!!!!!
И ссылки получаются короче!!!!!!
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Дестрой у формы выполняется, а у её компонентов не выполняется! / 25 сообщений из 42, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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