powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Создание метода
14 сообщений из 14, страница 1 из 1
Создание метода
    #33912910
Refox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
Подскажите, пожалуйста, как можно прописывать внутренность метода, например, AfterRowColChange ГРИДА не во время создания формы, а во время её выполнения

Заранее благодарю!
...
Рейтинг: 0 / 0
Создание метода
    #33913050
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну есть несколько подходов

1-й простой
execscript(lcCmd)
execscript(thisform.CmdOfGrdAfter...)

и начитываешь эту строку и он тупо всегда ее выполняет,но
это не есть хорошо

2-й
проще обернуть несколько раз класс
и написать хитрый метод
и в нем по-хитрому
переходить с пом. dodefault
и так
case this.Property = ...
...

3-й биндивент
...
Рейтинг: 0 / 0
Создание метода
    #33913290
Проходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как все таки часто людям трудно хорошенько подумать и легче поискать способы модификации программы во время выполнения, то есть создать самомодифицируемую программу. Хотя бы подумали над тем, как потом такую программу отлаживать.
...
Рейтинг: 0 / 0
Создание метода
    #33913300
Refox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если:
есть объект формы poForm, в него добавляется Грид-объект oGrid
Как программно прописать у него внутренность метода AfterRowColChange

Приведите, пожалуйста, подробный пример
...
Рейтинг: 0 / 0
Создание метода
    #33913351
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам же ответили, что никак!!!
Создайте свой класс на основе GRID и пропишите в нем в событии AfterRowColChange свой код или вызовете в нем свой новый метод, который будете перегружать в объектах этого класса на этапе ДИЗАЙНА
Вы можете объяснить, зачем вам самомодифицирующий код?
С уважением, Алексей
...
Рейтинг: 0 / 0
Создание метода
    #33913418
Refox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksey-KВы можете объяснить, зачем вам самомодифицирующий код?
С уважением, Алексей

Я дописываю модули к комплексу, разработанного и написанного не мной
Требуется, чтобы сам комплекс был неизменённым, а в нём на основе класса создаётся форма и нужно в эту форму добавить закладку на которой будут грид и текстбох, чтобы при переходе в гриде с одной строчки на другую обновлялось поле текстбокс

Я все добавляю, могу указать свойства, а внутренность метод не могу, а нужно
...
Рейтинг: 0 / 0
Создание метода
    #33913437
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для этого, как правило, достаточно в AfterRowColChange добавить THISFORM.Refresh()
С уважением, Алексей
...
Рейтинг: 0 / 0
Создание метода
    #33913455
Refox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksey-KДля этого, как правило, достаточно в AfterRowColChange добавить THISFORM.Refresh()
С уважением, Алексей
Вот и я же об этом, но так как закладка, поле и грид добавляются вручную, во время выполнения программы, нужно и код добавлять вручную. А как это сделать - внести в AfterRowColChange код THISFORM.Refresh()
...
Рейтинг: 0 / 0
Создание метода
    #33913461
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так добавляете вручную GRID не базового класса, а своего
С уважением, Алексей
...
Рейтинг: 0 / 0
Создание метода
    #33913509
Refox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksey-KТак добавляете вручную GRID не базового класса, а своего
С уважением, Алексей

Я и сам так сначала думал, просто хотелось бы программно.
Но на нет и суда нет
Спасиб!
...
Рейтинг: 0 / 0
Создание метода
    #33913616
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
напиши в методе

Afterorcolchange грида

if file('c:\tt.tt')
local lcCmd
lcCmd=filetostr('c:\tt.tt')
execscript(lcCmd,thisform)
endif



создавай на диске файл
'c:\tt.tt'

lpara toForm
toForm.BackColor=0


запускай форму
пробуй дрыгаться по гриду
пробуй менять текст в 'c:\tt.tt'

вот также и с пропертями объектов чудить можно
...
Рейтинг: 0 / 0
Создание метода
    #33915272
Kruchinin Pahan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Refox Aleksey-KТак добавляете вручную GRID не базового класса, а своего
С уважением, Алексей

Я и сам так сначала думал, просто хотелось бы программно.
Но на нет и суда нет
Спасиб!
Ну почему же совсем нет? Вам же предложили:
BINDEVENT(loGrdName, "AfterRowColChange", ThisForm, "MyWorkOnGrid")

Цепляешься на Event Grida и в методе формы отрабатываешь.
...
Рейтинг: 0 / 0
Создание метода
    #33915356
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kruchinin Pahan Refox Aleksey-KТак добавляете вручную GRID не базового класса, а своего
С уважением, Алексей

Я и сам так сначала думал, просто хотелось бы программно.
Но на нет и суда нет
Спасиб!
Ну почему же совсем нет? Вам же предложили:
BINDEVENT(loGrdName, "AfterRowColChange", ThisForm, "MyWorkOnGrid")

Цепляешься на Event Grida и в методе формы отрабатываешь.
Ну и чем это отличается от перегрузки метода AfterRowColChange самого грида?
Код в метод THISFORM.MyWorkOnGrid вы как поместите в RUN-TIME?
С уважением, Алексей
...
Рейтинг: 0 / 0
Создание метода
    #33915890
Kruchinin Pahan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksey-K Kruchinin Pahan
Цепляешься на Event Grida и в методе формы отрабатываешь.
Ну и чем это отличается от перегрузки метода AfterRowColChange самого грида?
Код в метод THISFORM.MyWorkOnGrid вы как поместите в RUN-TIME?
С уважением, Алексей

Хмм... Я так понял из задачи, что необходимо только грид динамически бросать на форму. А от чего тогда зависит содержимое метода?

Aleksey-K
Я дописываю модули к комплексу, разработанного и написанного не мной
Требуется, чтобы сам комплекс был неизменённым, а в нём на основе класса создаётся форма и нужно в эту форму добавить закладку на которой будут грид и текстбох, чтобы при переходе в гриде с одной строчки на другую обновлялось поле текстбокс


LoForm.NewObject("GrdMain","Grid",...)
BINDEVENT(loForm.GrdMain, "AfterRowColChange", loForm, "Refresh")

Хмм... А так, плохо чтоли? Или создай класс на основе Custom, в котором ты повесишь обработчик событий формы и BIND на его методы те события, что тебе надо.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Создание метода
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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