|
Прикрутить клиента к ActiveX EXE. Automation error на элементарном примере.
|
|||
---|---|---|---|
#18+
Antonariy, честно, беру таймаут по этому вопросу. Подведем промежуточные итоги. ActiveX EXE я делать научился. Метод, что рекомендовал Игорь, я осознал (с таймером на форме), работает. ДимаНу, допустим я могу его создать, нажав на кнопку "конвертировать", сделать кнопку desabled (чтоб исключить возможность параллельно делать другое задание), дождаться события (OK либо описание ошибки, кот. вернет function), убить класс =nothing и сделать опять кнопку доступной. Хорошо,Сделал, получилось. В целом понравилось. Дима1) А X-dll вместо X-exe я так использовать могу? Я объяснил выше, почему мне X-exe не нравится. Оно не умеет по кривым путям регистрироваться, и можно нарваться, а в System все валить нет никакого поверьте желания, надо класть все в Install Path (и никто не запрещает формально быть ему кривым)., С Dll -не работает. "Весит". Собственно так и следовало из изначальных соображений и из книжки, которую я достал с полки чтоб почитать общие догмы про ActiveX. Получается, что только ActiveX EXE. 1) На русском XP с хитрым путем он регистрируется так, что потом себя не может запустить. 2) На Win 2003 EN регистрируется на нормальном пути, потом его невозможно разрегистрировать через UnReg, вычищал паразита через реестр. 3) А что будет на Висте, 7-ке, x64... 3) Без регистрации использовать нельзя, трюк с манифестами не работает 4) Пишет в реестр всякие гадости,версии из-за чего потом не работает и т.п., В общем никаких гарантий 100% работы везде и всюду. Посему: ДимаЕще есть вариант сделать процедуру обычным EXE и вызывать как Shell( EXE with parameters ,vb...) (без всяких ожиданий завершения, запустил и забыл) ... Но если ответ Error: Description bla-bla-bla то нужно вывести msgbox "Error: Description bla-bla-bla" и этот msgbox придется весить на EXE тогда, а не на основную прогу, а этот EXE на каких нибудь вистах может вывести этот msgbox черт знает куда, напр. под низ всех окон, На 7-ке x64 нормально выводит, поверх окон. Уже проверил. ДимаА есть вариат круче. Команда поступает по e-mail. Т.е. клиентом является приложение, которое 1) Проверяет почту (pop3) ... Ну опять же, поскольку клиент, занимающийся mail-ами не имеет user-интерфейса, может делать Result= Function() и ждать, здесь это разумно. , Вот так и сделаем. А модули продублируем и вставим в обработчик мейлов, благо много места не занимают. Просто 2 недели бодался с GDI, Ghostscriptam-и, теперь все это бросать под хвост глючным ActiveX, с которыми тоже уже несколько дней убил. Разумнее заняться внедрением наработанного в приложение теми дедовскими методами, которые точно не подставят, тоже еще нехилая работа предстоит...Вот сделаю по обычному и посмотрю, чего получилось. Предполагаю что все будет нормально. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2011, 05:06 |
|
Прикрутить клиента к ActiveX EXE. Automation error на элементарном примере.
|
|||
---|---|---|---|
#18+
Дмитрий771) На русском XP с хитрым путем он регистрируется так, что потом себя не может запустить. 2) На Win 2003 EN регистрируется на нормальном пути, потом его невозможно разрегистрировать через UnReg, вычищал паразита через реестр. 3) А что будет на Висте, 7-ке, x64... 3) Без регистрации использовать нельзя, трюк с манифестами не работает 4) Пишет в реестр всякие гадости,версии из-за чего потом не работает и т.п., В общем никаких гарантий 100% работы везде и всюду. И внезапно Дмитрий77ActiveX EXE я делать научился. Все какие-то сказки. 1) Приведите пример "кривого" пути. 2) Если оно сильно надо, напишите функцию, чистящую реестр. 3) w2k-w7 все работает как часы. Из x64, где что-то юзал - srv 2k3 и 2k8. 4) Я свою систему не чищу годами, у меня там гроздья всяких взаимозависимых dll разных версий, и все работает. 100% гарантий работоспособности на помянутых системах. При регистрации, конечно. Видимо я разучился их делать. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2011, 09:22 |
|
Прикрутить клиента к ActiveX EXE. Automation error на элементарном примере.
|
|||
---|---|---|---|
#18+
Antonariy1) Приведите пример "кривого" пути. Дмитрий77HKEY_CLASSES_ROOT\CLSID\{2E77760A-2F22-436C-8A9C-D2F7A8CE60C8}\LocalServer32 На моем рабочем компе значение LocalServer32 получилось C:\Documents and Settings\Дима\Рабочий стол\test\WIATest\gsapi_vb\ExeServer\ExeServer.exe И естественно уже не меняется скоко на него не жми в любых директориях. Проблема решилась заменой (ручками) параметра на C:\Docume~1\Дима\Рабочи~1\test\WIATest\gsapi_vb\ExeSer~1\ExeServer.exe Я думаю этого достаточно. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2011, 14:05 |
|
|
start [/forum/topic.php?fid=60&msg=37230139&tid=2158775]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
55ms |
get topic data: |
11ms |
get forum data: |
1ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 167ms |
0 / 0 |