powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Проблемы с проектом
25 сообщений из 57, страница 2 из 3
Проблемы с проектом
    #33131854
Абсолютно не важно, что бы код был именно в InteractiveChange. В принципе можно его перенести и в Valid. Просто мне уже интересно почему событие может не отрабатывать?
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33132102
Фотография ГенГрум
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Филатова ЕленаПротестировала проект. Результата: Периодически не происходит событие Interactive Change. Запуск подряд 5 раз на одной и той же машине : 2 раза произошел 3 - нет.
В поршлый раз я забыла упомянуть ( может это важно) сам комбобокс - это мой класс и это событие прописано в классе.

Слушай а как ты определила что Периодически не происходит событие Interactive Change ? Первый оператор wait wind "...." обязательно без nowait не показывает сообщение? Ведь тебе нельзя пользоватся дебагером.
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33132128
Именно так и тестировала. Поставила его первым оператором в событии и он то показывается то нет ( без Nowait)
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33132167
Фотография ГенГрум
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты сказала что сам комбобокс - это мой класс .
Тогда на форме у тебя есть тоже доступ к InteractiveChange. Попробуй там поставить wait & dodefault(). Может на форме в методе у тебя пару пустых строк и в этом вся прблема.
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33132201
Нет там пустых строк и к тому же это не объясняет почему событие то происходит, то нет.
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33133339
Фотография ГенГрум
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько я в курсе сначало выполняется дочерний код(InteractiveChange доступный на форме) , а затем родительский код (InteractiveChange написанный в класе). Если есть дочерний код (возможно влияние и пустых сток но не проверенно) но нет dodefaul() то родительский код не выполняется.
Если в дочернем коде поставить wait ... то он должен выполнятся всегда.
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33133492
Фотография ГенГрум
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще поясни есть ли у тебя таймеры.Как выяснилось это вещь непредсказуемая.
Второе чем машина на которой не происходит вызова отличается от других (софт,проц,память,диск, размер файла подкачки и т.д.). Вседь чем-то она отличается. Проверь c:\temp & c:\windows\temp - пустые. Может прийдется переустановить windows если ничего не поможет. Ну должена быть причина. И пожалуйста скажи чем все закончилось.
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33133720
Таймеров нет. Перенесла этот же код в событие Valid, вроде пока все работает. Надо еще пользователей подергать чтобы позапускали эту программу. Обязательно напишу .
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33133726
И кода на форме никакого нет для этого контрола. Весь код только в классе.
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33134088
Фотография ГенГрум
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Елена ты обошла проблему, но нерешила. Попробуй поставить в InteractiveChange доступный на форме

Код: plaintext
1.
2.
wait wind "упс"
dodefault()

и протестируй. Просто интересно у моих пользователей может такое случится что не работает какой либо метод или нет. Если да то при каких условиях.
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33134112
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вместо wait window ... лучше ставить MessageBox().

Дело в том, что если выбор в Combo осуществляется мышкой, то это же нажатие автоматом закроет окно WAIT. Будет полное ощущние, что InteractiveChange не сработал, хотя это не так.

Кстати, вполне вероятно, что InteractiveChange срабатывает, но выбранная комбинация значений не приводит ни к каким изменениям по логике кода в InteractiveChange. Т.е. либо ничего не заменяется, либо происходит замена значения на то же самое значение.
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33134263
На форме поставить код в InteractiveChange не могу потому как грид формируется программно в Init формы. Почему так сделано не спрашивайте, программа не моя, я ее только веду.
Владимир я проверела именно с MessageBox-ом и событие именно не срабатывало, так как первая строка и была MessageBox, без всяких условий и iif-ов.
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33134436
Фотография ГенГрум
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще-то я не возился с программный гридом. Но попробую. Попробуй пойти сиандартным (для меня) путём.

1.Сохраняешь версию программы
2.На форму кидаешь грид (view - form controls toolbar - grid) подгоняешь под размеры.
3.Щелкаешь по гриду правой кнопкой мыши - меню - builer
- выбираешь нужную таблицу
- набираешь наименование полей
4.Щелкаешь по гриду правой кнопкой мыши - меню - edit
5.Щелкаешь по нужной колонке правой кнопкой мыши - меню - edit
6.выбираешь view - form controls toolbar

7.Щелкаешь левой кнопкой по нужной колонке. В гриде в колонке появится combobox
8.Щелкаешь по гриду правой кнопкой мыши - меню - Properties - закладка All - верхний combobox - выбираешь имя нужной колонки
9.CurrentControl text1 меняешь на combo1. Если нет combo1 повтори пп 4-7 внимательно.
10.Sparse = .F.
11.Properties Верхний combobox - выбираешь
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33134444
Фотография ГенГрум
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще-то я не возился с программный гридом. Но попробую. Попробуй пойти стандартным (для меня) путём.

1.Сохраняешь версию программы
2.На форму кидаешь грид (view - form controls toolbar - grid) подгоняешь под размеры.
3.Щелкаешь по гриду правой кнопкой мыши - меню - builer
- выбираешь нужную таблицу
- набираешь наименование полей
4.Щелкаешь по гриду правой кнопкой мыши - меню - edit
5.Щелкаешь по нужной колонке правой кнопкой мыши - меню - edit
6.выбираешь view - form controls toolbar
- combobox (стандартный)
- или пиктограмма книжки - add - выбираешь свою библиотеку - combobox
7.Щелкаешь левой кнопкой по нужной колонке. В гриде в колонке появится combobox
8.Щелкаешь по гриду правой кнопкой мыши - меню - Properties - закладка All - верхний combobox - выбираешь имя нужной колонки
9.CurrentControl text1 меняешь на combo1. Если нет combo1 повтори пп 4-7 внимательно.
10.Sparse = .F.
11.Properties Верхний combobox - выбираешь combobox
- BorderStyle = 0
- RowSource - имя ресурса для combobox
- RowSourceType - тип ресурса
- 2 раза по InteractiveChange - открывается окно для кода данного метода.
пиши MessageBox().

На все про все потратишь полчаса. Извини если тебе все это известно но у тебя небыло времени этим заниматся.
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33134980
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Филатова ЕленаНа форме поставить код в InteractiveChange не могу потому как грид формируется программно в Init формы. Почему так сделано не спрашивайте, программа не моя, я ее только веду.
Если ComboBox добавляется в стобец программно, то делается ли он видимым?

Grid.Column1.Combo.Visible = .T.

Дело в том, что если не дать эту команду, то объект тем не менее будет виден, но вести себя будет очень странно.
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33135034
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Елена!

А "механика" проведения выбора из комбо везде одинакова (т.е. это ты сама проверяла, или юзера рапортуют?) Дело в том. что в зависимости от того как сделали выбор (мышкой, клавиатурой, совместно), как закрыли комбо (кликнули по его текстовой части, кликнули по форме, по другому контролу) поведение может отличаться! Это даже обсуждалось на форумах, если интересно поищи.

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33135712
Владимиру : Grid.Column1.Combo.Visible = .T. есть.
Механика выбора : мышью( по другому при мне не выбирали). При этом то срабатывало событие то нет.
ГенГруму :
Мне это известно, так что извеняю :).
Еще раз подчеркиваю, что программу писала не я. Я ее только поддерживаю и автор сейчас уже не работает( он так же не смог побороть эту проблему).
Combobox в грид добавляется программно и почему-то не всегда срабатывает событие.
Сама я разобраться с этим не смогла вот и пытаюсь разобраться с Вашей помощью.
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33136763
Фотография ГенГрум
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дороботаная программка из Help-а
CLOSE table ALL && Close tables and databases
CLOSE DATABASES ALL

OPEN DATABASE (HOME(2) + 'data\testdata')


SELECT dist title FROM customer INTO CURSOR cursor_2
SELECT cust_id, title FROM customer INTO CURSOR cursor_1 READWRITE

SELECT customer
USE
SELECT cursor_1

frmMyForm = CREATEOBJECT('Form') && Create a Form
frmMyForm.Closable = .F. && Disable the window pop-up menu

frmMyForm.AddObject('cmdCommand1','cmdMyCmdBtn') && Add Command button
frmMyForm.AddObject('grdGrid1','Grid') && Add Grid control

frmMyForm.grdGrid1.Left = 25 && Adjust Grid position

frmMyForm.grdGrid1.SetAll("DynamicBackColor", ;
"IIF(MOD(RECNO( ), 2)=0, RGB(255,255,255) ;
, RGB(0,255,0))", "Column") && Alternate white and green records

frmMyForm.grdGrid1.Visible = .T. && Grid control visible
frmMyForm.cmdCommand1.Visible =.T. && "Quit" Command button visible
frmMyForm.grdGrid1.Column1.Header1.Caption = 'FFeld1'
frmMyForm.grdGrid1.Column1.ControlSource = 'cursor_1.cust_id'

frmMyForm.grdGrid1.Column2.Header1.Caption = 'FFeld2'
frmMyForm.grdGrid1.Column2.ControlSource = 'cursor_1.title'
frmMyForm.grdGrid1.Column2.Sparse = .F.

frmMyForm.grdGrid1.Column2.AddObject("MyCombo1", "MyCombo")
frmMyForm.grdGrid1.Column2.CurrentControl = "MyCombo1"


frmMyForm.SHOW && Display the form
READ EVENTS && Start event processing

DEFINE CLASS MyCombo AS COMBOBOX && вместо COMBOBOX поставь свой << ----------------
Visible = .T.
BorderStyle = 0 && None
RowSource = 'cursor_2.title'
RowSourceType = 2

PROCEDURE InteractiveChange
MESSAGEBOX("Привет",0,"Ку-Ку")
&& DODEFAULT() - убери && когда поставишь свой класс << ----------------
ENDPROC
ENDDEFINE

DEFINE CLASS cmdMyCmdBtn AS CommandButton && Create Command button
Caption = '\<Quit' && Caption on the Command button
Cancel = .T. && Default Cancel Command button (Esc)
Left = 125 && Command button column
Top = 210 && Command button row
Height = 25 && Command button height

PROCEDURE Click
CLEAR EVENTS && Stop event processing, close form
CLOSE table ALL && Close tables and databases
CLOSE DATABASES ALL
ENDDEFINE

Програмка полностью рабочая. Кинь в Tmp.prg и выполни если хочешь. А потом по образу и подобию добавь в своей програмке метод InteractiveChange и всю обработку. Посмотрим что будет. Да InteractiveChange выполняется только тогда когда было изменение если нет - то нет.
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33145804
В общем-то у меня так и сделано.
Добавление DODEFAULT ничего не дало.
Единственный вопрос у меня по поводу :
DEFINE CLASS MyCombo AS COMBOBOX && вместо COMBOBOX поставь свой << ----------------
моя строка выглядит
DEFINE CLASS MyCombo AS COMBOBOX
что там не правильно я не знаю
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33147916
Фотография ГенГрум
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Теперь я ничего не понял. Ты говоришь что используешь свой класс, но DEFINE CLASS MyCombo AS COMBOBOX
это использование стандартного COMBOBOX-а. А где у тебя хранится код ?
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33148116
Текст MyCombo храниться в главной программе.
В форме в гриде программно заполняются колонки контролом MyCombo.
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33148384
Фотография ГенГрум
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Закинь всю процедуру init (где создается грид) в txt и прикрепи к сообщению.
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33148475
Вот текст
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33148556
Фотография ГенГрум
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код классный - я думал будет хуже. Но я не нашел где ты объявляешь обработку InteractiveChange? И еще при разработке у тебя грид на форме ? Ты только добавляешь колонки ? Или это не весь код?
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33148673
Грид на форме уже есть. Программно добавляются колонки. Код с Инит формы весь.
Событие описано в классе MyCombo. Я уже пробовала его менять и на валид, но это не помогло.
...
Рейтинг: 0 / 0
25 сообщений из 57, страница 2 из 3
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Проблемы с проектом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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