Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
IVSSVersions (MS VSS)
|
|||
|---|---|---|---|
|
#18+
кто-нибудь может привести эквивалентный OP код для VB кода: For Each objVSSVersion In objVSSObject.Versions ..... Заранее спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2003, 19:41 |
|
||
|
IVSSVersions (MS VSS)
|
|||
|---|---|---|---|
|
#18+
Построение эквивалента for each примерно такое: 1) uses ActiveX; 2) const IID_IEnumVariant: TGUID = '{00020404-0000-0000-C000-000000000046}'; 3) var Iterator: IInterface; Users: IEnumVariant; Fetched: Cardinal; User: OleVariant; 4) Iterator := VSSDatabase1.Users._NewEnum; Iterator.QueryInterface( IID_IEnumVariant, Users); Fetched := 0; while( Users.Next( 1, User, Fetched) = S_OK) do begin // ... end; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2003, 21:50 |
|
||
|
IVSSVersions (MS VSS)
|
|||
|---|---|---|---|
|
#18+
вот тебе кусочек, который строит дерево (точнее его ветви). Несколько проще чем у "ну я" :) Код: 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. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. Nobody faults but mine... (LZ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2003, 17:11 |
|
||
|
IVSSVersions (MS VSS)
|
|||
|---|---|---|---|
|
#18+
На самом деле вопрос правильный - в этом долбаном VSS часть функционала доступна только через индексированные свойства, часть только через IEnumVariant. Чем думают программисты серверных программ микрософт - большая загадка. Сколько сталкивался с их серверными творениями - ничего кроме желания заменить не возникало. Абидна, да? Хотя и хотелось бы иметь работающую альтернативу в лице микрософта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2003, 12:03 |
|
||
|
IVSSVersions (MS VSS)
|
|||
|---|---|---|---|
|
#18+
2ну я Чем думают программисты серверных программ микрософт - большая загадка. Вообще-то советую почитать про различия в программировании для COM на С++ и VB - так что MS просто приходится предоставлять два варианта методов - по-одному для этих языков - и так было всегда в COM ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2003, 16:11 |
|
||
|
IVSSVersions (MS VSS)
|
|||
|---|---|---|---|
|
#18+
Беда в том, что в приведенном мной примере, получение каждого Item-а идет через вызов COM. Который, как я понимаю, довольно затратный. В результате, когда в проекте (в дереве) порядка 200-700 узлов, работает еще более-менее нормально. Но когда этих узлов более 1000, начинается висяк. Пробовал отлаживать, мерять время - все потихоньку на эти вызовы и уходит. Хотя сам VSS Explorer работает шустро. Или он у них построен не на COM, или есть какие-то недокументированные возможности, которые я не нашел. Nobody faults but mine... (LZ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2003, 17:46 |
|
||
|
IVSSVersions (MS VSS)
|
|||
|---|---|---|---|
|
#18+
2 aag А зачем обрабатывать все дерево сразу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2003, 17:53 |
|
||
|
IVSSVersions (MS VSS)
|
|||
|---|---|---|---|
|
#18+
Про различия в COM для C++ и VB я в курсе, спасибо за заботу. Речь о реализации в VSS методов доступа к различным его частям - в нем действительно часть функционала выполнена только под IEnumVariant. Или Ваша мысль не закончена или я не понял поста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2004, 22:03 |
|
||
|
IVSSVersions (MS VSS)
|
|||
|---|---|---|---|
|
#18+
2 funikovyuri С новым Годом! :) Да так в принципе и сделано - строятся ветви "по раскрытию". Но в этом случае большая выгода, если бы узлы-ветви были распределены более-менее равномерно, а у меня всего несколько узлов наверху, под которым относительно немного веток, а вот под которыми куча листвы. Потому это "размазывание" посторения не сильно помогает. Вся проблема именно в скорости вызовов через COM. Nobody faults but mine... (LZ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2004, 13:12 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=1967&tid=2115237]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
28ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 223ms |
| total: | 359ms |

| 0 / 0 |
