|
|
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
Абсолютно не важно, что бы код был именно в InteractiveChange. В принципе можно его перенести и в Valid. Просто мне уже интересно почему событие может не отрабатывать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2005, 17:01:07 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
Филатова ЕленаПротестировала проект. Результата: Периодически не происходит событие Interactive Change. Запуск подряд 5 раз на одной и той же машине : 2 раза произошел 3 - нет. В поршлый раз я забыла упомянуть ( может это важно) сам комбобокс - это мой класс и это событие прописано в классе. Слушай а как ты определила что Периодически не происходит событие Interactive Change ? Первый оператор wait wind "...." обязательно без nowait не показывает сообщение? Ведь тебе нельзя пользоватся дебагером. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2005, 18:41:25 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
Именно так и тестировала. Поставила его первым оператором в событии и он то показывается то нет ( без Nowait) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2005, 19:03:38 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
Ты сказала что сам комбобокс - это мой класс . Тогда на форме у тебя есть тоже доступ к InteractiveChange. Попробуй там поставить wait & dodefault(). Может на форме в методе у тебя пару пустых строк и в этом вся прблема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2005, 19:41:02 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
Нет там пустых строк и к тому же это не объясняет почему событие то происходит, то нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2005, 20:19:19 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
Насколько я в курсе сначало выполняется дочерний код(InteractiveChange доступный на форме) , а затем родительский код (InteractiveChange написанный в класе). Если есть дочерний код (возможно влияние и пустых сток но не проверенно) но нет dodefaul() то родительский код не выполняется. Если в дочернем коде поставить wait ... то он должен выполнятся всегда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2005, 13:26:13 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
И еще поясни есть ли у тебя таймеры.Как выяснилось это вещь непредсказуемая. Второе чем машина на которой не происходит вызова отличается от других (софт,проц,память,диск, размер файла подкачки и т.д.). Вседь чем-то она отличается. Проверь c:\temp & c:\windows\temp - пустые. Может прийдется переустановить windows если ничего не поможет. Ну должена быть причина. И пожалуйста скажи чем все закончилось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2005, 14:13:02 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
Таймеров нет. Перенесла этот же код в событие Valid, вроде пока все работает. Надо еще пользователей подергать чтобы позапускали эту программу. Обязательно напишу . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2005, 15:13:54 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
И кода на форме никакого нет для этого контрола. Весь код только в классе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2005, 15:14:32 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
Елена ты обошла проблему, но нерешила. Попробуй поставить в InteractiveChange доступный на форме Код: plaintext 1. 2. и протестируй. Просто интересно у моих пользователей может такое случится что не работает какой либо метод или нет. Если да то при каких условиях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2005, 17:24:08 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
Вместо wait window ... лучше ставить MessageBox(). Дело в том, что если выбор в Combo осуществляется мышкой, то это же нажатие автоматом закроет окно WAIT. Будет полное ощущние, что InteractiveChange не сработал, хотя это не так. Кстати, вполне вероятно, что InteractiveChange срабатывает, но выбранная комбинация значений не приводит ни к каким изменениям по логике кода в InteractiveChange. Т.е. либо ничего не заменяется, либо происходит замена значения на то же самое значение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2005, 17:32:56 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
На форме поставить код в InteractiveChange не могу потому как грид формируется программно в Init формы. Почему так сделано не спрашивайте, программа не моя, я ее только веду. Владимир я проверела именно с MessageBox-ом и событие именно не срабатывало, так как первая строка и была MessageBox, без всяких условий и iif-ов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2005, 18:43:51 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
Вообще-то я не возился с программный гридом. Но попробую. Попробуй пойти сиандартным (для меня) путём. 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 - выбираешь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2005, 23:03:43 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
Вообще-то я не возился с программный гридом. Но попробую. Попробуй пойти стандартным (для меня) путём. 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(). На все про все потратишь полчаса. Извини если тебе все это известно но у тебя небыло времени этим заниматся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2005, 23:15:43 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
Филатова ЕленаНа форме поставить код в InteractiveChange не могу потому как грид формируется программно в Init формы. Почему так сделано не спрашивайте, программа не моя, я ее только веду. Если ComboBox добавляется в стобец программно, то делается ли он видимым? Grid.Column1.Combo.Visible = .T. Дело в том, что если не дать эту команду, то объект тем не менее будет виден, но вести себя будет очень странно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2005, 21:56:30 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
Hi Елена! А "механика" проведения выбора из комбо везде одинакова (т.е. это ты сама проверяла, или юзера рапортуют?) Дело в том. что в зависимости от того как сделали выбор (мышкой, клавиатурой, совместно), как закрыли комбо (кликнули по его текстовой части, кликнули по форме, по другому контролу) поведение может отличаться! Это даже обсуждалось на форумах, если интересно поищи. Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2005, 23:46:37 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
Владимиру : Grid.Column1.Combo.Visible = .T. есть. Механика выбора : мышью( по другому при мне не выбирали). При этом то срабатывало событие то нет. ГенГруму : Мне это известно, так что извеняю :). Еще раз подчеркиваю, что программу писала не я. Я ее только поддерживаю и автор сейчас уже не работает( он так же не смог побороть эту проблему). Combobox в грид добавляется программно и почему-то не всегда срабатывает событие. Сама я разобраться с этим не смогла вот и пытаюсь разобраться с Вашей помощью. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2005, 10:56:14 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
Дороботаная программка из 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 выполняется только тогда когда было изменение если нет - то нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2005, 16:38:54 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
В общем-то у меня так и сделано. Добавление DODEFAULT ничего не дало. Единственный вопрос у меня по поводу : DEFINE CLASS MyCombo AS COMBOBOX && вместо COMBOBOX поставь свой << ---------------- моя строка выглядит DEFINE CLASS MyCombo AS COMBOBOX что там не правильно я не знаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2005, 17:47:26 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
Теперь я ничего не понял. Ты говоришь что используешь свой класс, но DEFINE CLASS MyCombo AS COMBOBOX это использование стандартного COMBOBOX-а. А где у тебя хранится код ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2005, 13:55:06 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
Текст MyCombo храниться в главной программе. В форме в гриде программно заполняются колонки контролом MyCombo. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2005, 14:56:51 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
Закинь всю процедуру init (где создается грид) в txt и прикрепи к сообщению. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2005, 16:09:32 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
Код классный - я думал будет хуже. Но я не нашел где ты объявляешь обработку InteractiveChange? И еще при разработке у тебя грид на форме ? Ты только добавляешь колонки ? Или это не весь код? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2005, 17:06:29 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33134980&tid=1593898]: |
0ms |
get settings: |
11ms |
get forum list: |
21ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
435ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
66ms |
get tp. blocked users: |
1ms |
| others: | 267ms |
| total: | 819ms |

| 0 / 0 |
