Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Events Binding
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Хотел немного украсить приложение с использованием событий. Задача простая: из VFP 6.0(SP5) зацепиться за событие RowsCopied из SQLDMO.BulkCopy. Нижеприведённый код Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. ругается OLE IDispatch exception code 5 from Microsoft SQL-DMO: Code execution exception: EXCEPTION_ACCESS_VIOLATION Помогите понять в чём проблема. VFPCOM - последний. Если выполнить oVFPCOM.ExportEvents(oBulkCopy,"BulkCopy_Events.prg"), то полученный файл никаких методов не содержит. Help говорит, что процедуры должны быть private. Может проблема в этом? Оба события BatchImported и RowsCopied объявлены как методы VTABLE интерфейса BulkCopySink. Может в VFP как в интерпретаторе раннее связывание не возможно? Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2003, 19:52 |
|
||
|
Events Binding
|
|||
|---|---|---|---|
|
#18+
В VFP7,8 все это без проблем. В VFP6 действительно надо как-то выкручиваться через VFPCOM, но как это сделать не знаю , потому что давно не работаю с шестеркой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2003, 13:10 |
|
||
|
Events Binding
|
|||
|---|---|---|---|
|
#18+
Установил VFP8.0 Ситуация "улучшилась". Сообщение об ошибке исчезло, но EventHandler() возвращает .F. и, естественно, никакие события не отлавливаются. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. В чём проблема? Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2003, 08:46 |
|
||
|
Events Binding
|
|||
|---|---|---|---|
|
#18+
Должно быть IMPLEMENTS BulkCopySink IN "c:\program files\microsoft sql server\80\tools\binn\sqldmo.dll" Так как интерфейс BulkCopySink объявлен не в соклассе SQLDMO.BulkCopy Класс BulkCopySink должен быть объявлен не как custom , а как session. oBulkCopy должно быть создано командой CreateObject , а не CreateObjectEx (oBulkCopy = CreateObject("SQLDMO.BulkCopy")) Попробуйте это. Если не поможет, тогда надо серьезней разбираться... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2003, 10:13 |
|
||
|
Events Binding
|
|||
|---|---|---|---|
|
#18+
Опробовал все предложенные варианты плюс IMPLEMENTS BulkCopySink IN {10010001-E260-11CF-AE68-00AA004A34D5}#8.0 Результат тот же - методы BulkCopySink_RowsCopied и BulkCopySink_BatchImported не вызываются. Также заметил, что имена методов интерфейса BulkCopySink определяются правильно: если в классе не определить один из методов, то VFP ругается и требует его определения. При этом не важно, как ищется информация об интерфейсе- через TypeLib, TypeLibGUID или ProgID. В чем проблема? Можно ли узнать причину по которой EventHandler() возвращает .F.? 2Crip Я так понимаю, на Вашем компьютере этот простой пример работает без проблем? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2003, 18:53 |
|
||
|
Events Binding
|
|||
|---|---|---|---|
|
#18+
Проверил. Не ваяется каменный цветок... Кстати все объявления implements были правильными и как ни странно CreateObjectEx работает. А вот EventHandler ни в какую...:((( А что в VB все работает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2003, 11:22 |
|
||
|
Events Binding
|
|||
|---|---|---|---|
|
#18+
На VB я не проверял. Help обещает, что должно работать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2003, 12:09 |
|
||
|
Events Binding
|
|||
|---|---|---|---|
|
#18+
Вообщем выяснили в фоксклубе, что это баг с ранним связыванием. Могу предложить помощь в написании IDispatсh обертки на C++ или VB ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2003, 11:57 |
|
||
|
Events Binding
|
|||
|---|---|---|---|
|
#18+
2Crip Не уверен, что это баг. VFP7.0,VFP7.0(SP1),VFP8.0 - длинный список. За помощь - спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2003, 19:17 |
|
||
|
Events Binding
|
|||
|---|---|---|---|
|
#18+
2vklepko На фоксклабе я уже писал, что глюк нестабилен. С некоторыми интерфейсам все тип-топ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2003, 10:27 |
|
||
|
Events Binding
|
|||
|---|---|---|---|
|
#18+
2crip cripВообщем выяснили в фоксклубе, что это баг с ранним связыванием. Могу предложить помощь в написании IDispatсh обертки на C++ или VB Сам столкнулся точно с такой же проблемой - описание проблемы на foxclub - если есть возможность обернуть интерфейс SQLDMO.ServerSink в IDispatch - то буду очень благодарен в рамках возможного ;). С уважением duШes ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2004, 15:06 |
|
||
|
Events Binding
|
|||
|---|---|---|---|
|
#18+
А сами, ручками, не пробовали ? У меня получилось, только для этого нужно работать через СOM написанным на VFP. Подробности тут /topic/96944&pg=-1 А Events Binding глючил и будет, по ходу, глючить еще долго. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2004, 23:05 |
|
||
|
Events Binding
|
|||
|---|---|---|---|
|
#18+
Гость_xxx А сами, ручками, не пробовали ? У меня получилось, только для этого нужно работать через СOM написанным на VFP. Подробности тут /topic/96944&pg=-1 А Events Binding глючил и будет, по ходу, глючить еще долго. Если можно - объясните неграмотному, из указанного обсуждения мало что понял....интересует больше последовательность действий С уважением duШes ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2004, 11:25 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32689856&tid=1595826]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
95ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 414ms |

| 0 / 0 |
