![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Delphi & FineReader [D6, WinXP]
ыы © (2008-05-27 11:28:00)Импортирую FineReader.exe в качестве библиотеки типов (версия 7.0 Scripting Edition, если это имеет значение). Нужно создать два экземпляра приложения (насколько я понимаю, каждый экземпляр в любой момент времени может работать только с одним пакетом, а мне нужно более одного пакета). Если создавать
App1 := CoApplication.Create; App2 := CoApplication.Create;, создаётся только один экземпляр процесса FineReader.exe, к которому и даётся интерфейс. А как всё-таки подключиться к разным экземплярам?
ыы (2008-06-09 12:37:00) [1]Для рассматриваемого Excel метод работает, а вот с FineReader вариант не проходит: IEnumMoniker после первого же Next возвращает S_FALSE...
ыы (2008-05-30 14:20:00) [2]спасибо, буду пробовать. идея была, как реализовать -- не знал.
Сергей М. (2008-05-30 14:17:00) [3]Ну тогда пробуй подлючиться к требуемому "вручную" созданному экз-ру через ROT (Running Object Table).
В помощь:
http://www.rsdn.ru/forum/message/2585863.flat.aspx
ыы (2008-05-30 13:38:00) [4]Попробовал... Пакет сказал, что установился, но новых компонентов в палитру не добавилось. Кроме того, это вряд ли помогло бы, так как у TOleServer при ConnectKind=ckNewInstance попросту вызывается CreateComObject(), как и в конструкторе CoApplication.
Ещё и техподдержка молчит... :-(
Сергей М. (2008-05-30 12:27:00) [5]
> Импортирую FineReader.exe в качестве библиотеки типов
Надо было не просто импортировать БТ, а инсталлироватьв палитру компоненты-рапперы, у которых для означенной цели можно будет использовать св-во ConnectKind=ckNewInstance
ыы (2008-05-29 12:10:00) [6]up
ыы (2008-05-27 11:30:00) [7]Дополнение. Если вручную запустить несколько процессов, соединение всегда происходит с первым.