Вопрос: интерфейсы, COM | Добавлено: 28.09.10 22:23 |
Автор вопроса: ![]() |
Ответы | Всего ответов: 25 |
Номер ответа: 16 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 334781088 Вопросов: 108 Ответов: 2822 |
Профиль | Цитата | #16 | Добавлено: 01.10.10 17:25 |
Winand, один вопрос.. ты понимаешь суть и назначение интерфейсов?
А ты сам как думаешь? Если человек приходит в компьютерный магазин и просит продать ему две штуки USB. На наводящие вопросы продавца (мол, вам нужен жесткий диск, мышка или веб камера?) он отвечает что, мол, не знаю, попросили просто купить USB. Он в теме? |
Номер ответа: 17 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 58 Ответов: 4255 ![]() |
Профиль | Цитата | #17 | Добавлено: 01.10.10 17:27 |
Если не секрет, а чем плох VB-шный OLEDrag?
А он позволяет корректно перетащить объекты из твоего приложения в стороннее? Скажем можно сделать операцию копирования файлов из твоей программы путем перетаскивания файлов в стандартный проводник? |
Номер ответа: 18 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 58 Ответов: 4255 ![]() |
Профиль | Цитата | #18 | Добавлено: 01.10.10 17:36 |
А ты сам как думаешь?
Ну не знаю.. но прочитав фразу запросу программы создавать инстанс и возвращать указатель.
я почему то подумал, что он имел ввиду - создать инстанс объекта имплементирующего указазный интерфейс.. я думал он понимает что невозможно создать инстанс интерфейса.. Я достаточно давно знаю его по этому форуму, и мне казалось что он должен понимать подобные нюансы, поэтому не стал заострять на этом его внимание.. |
Номер ответа: 19 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 334781088 Вопросов: 108 Ответов: 2822 |
Профиль | Цитата | #19 | Добавлено: 01.10.10 17:52 |
увы, но лишь
некоторое время поисков в инете и тыканья в программе OLEView
привели его к мысли что их вообще нельзя создать с помощью CoCreateInstanse
Касаемо драга - это уже проблема "принимающей стороны" то как она будет интерпретировать событие OLEDragDrop. В случае с проводником никакой проблемы не возникнет. |
Номер ответа: 20 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ICQ: 262809473 Вопросов: 17 Ответов: 561 |
Web-сайт: Профиль | Цитата | #20 | Добавлено: 01.10.10 19:06 |
можно сделать операцию копирования файлов из твоей программы путем перетаскивания файлов в стандартный проводник?
|
Номер ответа: 21 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 58 Ответов: 4255 ![]() |
Профиль | Цитата | #21 | Добавлено: 01.10.10 19:16 |
ну не знаю.. может у него нестандартная операция и ему надо передать какие то свои объекты.. |
Номер ответа: 22 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 87 Ответов: 2795 |
Web-сайт: Профиль | Цитата | #22 | Добавлено: 02.10.10 11:47 |
во первых мне обязательно нужна будет поддержка юникода, стандартные ср-ва vb не прокатят, а в либе своей я это сделаю.
во-вторых - интерфейс это типа стандартная розетка привинченная к имлементирущему классу, а розетка без электросети не работает. Но я был сбит столку тем, что itaskbarlist3 например уже где-то реализован в винде, и cocreateinstanse'ом я что-то создавал. |
Номер ответа: 23 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 58 Ответов: 4255 ![]() |
Профиль | Цитата | #23 | Добавлено: 02.10.10 21:18 |
и cocreateinstanse'ом я что-то создавал
ты создавал не что-то, а инстанс объекта(класса), который имплементирует(реализует) данный интерфейс |
Номер ответа: 24 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 87 Ответов: 2795 |
Web-сайт: Профиль | Цитата | #24 | Добавлено: 03.10.10 14:00 |
ах точно, на мсдн написано An implementation of this interface is provided in Windows as CLSID_TaskbarList. This interface is not implemented by third parties. Только мне не понятно зачем нужен интерфейс, если имплементация у него всего одна
|
Номер ответа: 25 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 58 Ответов: 4255 ![]() |
Профиль | Цитата | #25 | Добавлено: 03.10.10 18:20 |
Только мне не понятно зачем нужен интерфейс, если имплементация у него всего одна
В этом и есть главная прелесть интерфейсов, что ты можешь написать сколько угодно имлементаций.. Может тебя не устраивает родная виндовая реализация и у тебя есть возможность написать свою и подсунуть ее винде.. А то что она сейчас одна - ни о чем не говорит, со следующим апдейтом их может быть 5... И вообще, использование интерфейсов в качестве параметров, и возвращаемых значений ,имхо, это правильно.. |
|