Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / изменить метод в классе / 6 сообщений из 6, страница 1 из 1
03.09.2003, 13:08
    #32254626
qws
qws
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить метод в классе
Есть б-ка .vcx c классом R. У него - пустой Click. Запускаю форму do form и в ее Inite добавляю б-ку, создаю экземпляр класса R, но хочу изменить код метода Click. Как это сделать? Ведь нельзя в методе иметь определение другого класса. Мне же нужно динамически менять код в методе Click R по условиям. Можно в Inite формы добавить процедурный файл с описанием стольких классов, сколько есть возможных вариантов Click R, но это плохо. Можно делать объект форму, одновременно прописывая нужный класс с нужным кодом, и вызывать форму методом Show() - так описано во всех примерах, но это работает в стартовой программе, а как сделать, чтобы работало в методе?
...
Рейтинг: 0 / 0
03.09.2003, 13:22
    #32254649
АлександрК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить метод в классе
Какая версия фокса?
Если восьмерка, то почитайте help по функции BINDEVENT().
...
Рейтинг: 0 / 0
03.09.2003, 13:40
    #32254678
qws
qws
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить метод в классе
Я работаю с VFP 7.0.
...
Рейтинг: 0 / 0
03.09.2003, 14:15
    #32254726
Crip
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить метод в классе
До восьмерки были извраты типа
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
define class Hook as custom

HookVar =  _Screen

proc HookVar.RightClick
   messageb('RightClick On Screen!')

enddefine
...
Рейтинг: 0 / 0
03.09.2003, 14:45
    #32254789
АлександрК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить метод в классе
Можно в Inite формы добавить процедурный файл с описанием стольких классов, сколько есть возможных вариантов Click R, но это плохо.

А что, если создать класс с описанием возможных действий?

Init формы:
This.AddProperty("MyMethodClick")
This.MyMethodClick = CREATEOBJECT("MyClick")
This.AddProperty("MyProperty")
DO CASE
CASE Условие1
This.MyProperty = 1
CASE Условие2
This.MyProperty = 2
CASE Условие3
This.MyProperty = 3
ENDCASE

This.AddObject("MyCommandButton", "R")

Метод Click класса R
DO CASE
CASE This.Parent.MyProperty = 1
This.Parent.MyMethodClick.Click1()
CASE This.Parent.MyProperty = 2
This.Parent.MyMethodClick.Click2()
CASE This.Parent.MyProperty = 3
This.Parent.MyMethodClick.Click3()
ENDCASE

Файл, в котором описываются возможные действия
define class MyClick as custom
function Click1()
....
endfunc
function Click2()
....
endfunc
function Click3()
....
endfunc
endefine

Все это, конечно, грубовато, но я думаю идея ясна.
...
Рейтинг: 0 / 0
03.09.2003, 14:51
    #32254798
qws
qws
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить метод в классе
!
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / изменить метод в классе / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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