|
|
|
Как создать объект в COM-клиенте
|
|||
|---|---|---|---|
|
#18+
Вопрос такой: есть dll-ка, из которой в системе зарегистрирован COM объект. Исходников, типа .cpp, .h, .idl нету... только dll-ка... Как в программе на C++ (VS6) создать экземпляр этого объекта? Хотелось бы пример кода... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2005, 11:28 |
|
||
|
Как создать объект в COM-клиенте
|
|||
|---|---|---|---|
|
#18+
Big17Вопрос такой: есть dll-ка, из которой в системе зарегистрирован COM объект. Исходников, типа .cpp, .h, .idl нету... только dll-ка... Как в программе на C++ (VS6) создать экземпляр этого объекта? Хотелось бы пример кода... Например, также как при использовании ADO: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2005, 11:49 |
|
||
|
Как создать объект в COM-клиенте
|
|||
|---|---|---|---|
|
#18+
1. используешь OleView (есть в тулзах студии) -- открываешь в нем свою dll, просматриваешь ее idl-ку, определяешь namespace. 2. В своей проге добавляешь строку: #import "YourDll.dll" using namespace some_namespace; 3. в своей проге запрашиваешь объекты-интерфейсы. Если ты используешь ATL, то тут все очень просто. Смотри функции типа CoGetClassObject и т.д. Если надо, могу добавить пример. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2005, 12:08 |
|
||
|
Как создать объект в COM-клиенте
|
|||
|---|---|---|---|
|
#18+
Да пожалуйста, если можно пример. P.S. Как то все сложно? Нет метода проще? CoCreateInstance не подходит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2005, 10:16 |
|
||
|
Как создать объект в COM-клиенте
|
|||
|---|---|---|---|
|
#18+
возьми любой пример для DirectX (их море в сети) - дашь только свой GUID своего COM. ______________________________________________ Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2005, 10:53 |
|
||
|
Как создать объект в COM-клиенте
|
|||
|---|---|---|---|
|
#18+
:( Увы, пример приведенный выше, не пошел... точнее, наверное, я не смог его реализовать... Хотелось бы "элементарный" пример, не перегруженный излишествами.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2005, 09:59 |
|
||
|
Как создать объект в COM-клиенте
|
|||
|---|---|---|---|
|
#18+
Big17:( Увы, пример приведенный выше, не пошел... точнее, наверное, я не смог его реализовать... Хотелось бы "элементарный" пример, не перегруженный излишествами.... Лови пример! Ничего лишнего. Просто использовал Визард и сделал консольное приложение с поддержкой MFC... К исходникам программы: Я предварительно написал на VFP класс (=СОМ-объект), который просто делает выборку из dbf-файла и завернул его в dll-ку(ws_server1.dll). А в этой программе я просто этой dll-кой пользуюсь... Правда, предварительно ее необходимо было зарегистрировать посредством regsvr32... Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2005, 10:14 |
|
||
|
Как создать объект в COM-клиенте
|
|||
|---|---|---|---|
|
#18+
Хм... Как только подключил dll-ку импортом, компилятор стал ругаться следующим образом: c:\projects\temp\test9\debug\c_test6_1_0.tlh(49) : error C2146: syntax error : missing ';' before identifier 'MWFlags' c:\projects\temp\test9\debug\c_test6_1_0.tlh(49) : error C2501: 'IMWFlagsPtr' : missing storage-class or type specifiers c:\projects\temp\test9\debug\c_test6_1_0.tlh(49) : error C2501: 'MWFlags' : missing storage-class or type specifiers c:\projects\temp\test9\debug\c_test6_1_0.tlh(55) : error C2146: syntax error : missing ';' before identifier 'GetMWFlags' c:\projects\temp\test9\debug\c_test6_1_0.tlh(55) : error C2501: 'IMWFlagsPtr' : missing storage-class or type specifiers c:\projects\temp\test9\debug\c_test6_1_0.tli(14) : error C2143: syntax error : missing ';' before 'tag::id' c:\projects\temp\test9\debug\c_test6_1_0.tli(14) : error C2433: 'IMWFlagsPtr' : 'inline' not permitted on data declarations c:\projects\temp\test9\debug\c_test6_1_0.tli(14) : error C2501: 'IMWFlagsPtr' : missing storage-class or type specifiers c:\projects\temp\test9\debug\c_test6_1_0.tli(14) : fatal error C1004: unexpected end of file found ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2005, 11:22 |
|
||
|
Как создать объект в COM-клиенте
|
|||
|---|---|---|---|
|
#18+
Big17Вопрос такой: есть dll-ка, из которой в системе зарегистрирован COM объект. Исходников, типа .cpp, .h, .idl нету... только dll-ка... Как в программе на C++ (VS6) создать экземпляр этого объекта? Хотелось бы пример кода... рабочий только для дельфи, но код всё равно вызывает: Код: plaintext Код: plaintext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2005, 16:30 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33170731&tid=2032959]: |
0ms |
get settings: |
10ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
52ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 364ms |

| 0 / 0 |
