|
|
|
Правильно ли я общаюсь с ShellExecute (применительно к программе рассылки VentaFax) ?
|
|||
|---|---|---|---|
|
#18+
Решил автоматически рассылать факсы посредством программы VentaFax, которая дает возможность вызовом с помощью ключей вставлять нужный факс в свое расписание на отправку. Средствами в Акссессе формирую табличку с требуемой инфой (факсовый номер, текст имени клиента, путь к файлу собственно факса), открываю форму и по кнопке запускаю рассылку. Вот код. Код: 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. Так вот, в работе этого кода возможны 2 исхода. 1. Если я код не торможу (на строчке 'MsgBox "Факс попал в расписание?", vbOKOnly стоит коммент), то он проходит рекордсет без своих ошибок, но, несмотря на правильные параметры в Debug.Print FaхNumber, NickName, fname (т.е. они все разные в соответствии с данными), в прогу VentaFax попадает только последняя строка, повторенная столько раз, сколько строк в рекордсете. 2. Если я код искусственно торможу вопросом, то он (после ответа на вопрос MsgBox "Факс попал в расписание?", vbOKOnly) вылетает с ошибкой 3420 - Object no Longer Set. При этом в форме вижу, что рекордсет действительно развалился, но не весь. Как быть? Получается, что вполне успешно можно вставить во внешнюю прогу 1 (один) факс. Но нужно-то целый список скинуть? Насколько я понимаю, опять уперся в какую-то асинхронность, в этот раз уже при работе с внешним приложением. Может мой вызов ShellExecute в корне неверен? Или все же ShellExecute нужно притормозить, чтобы она успела все что надо в загруженную прогу скинуть (тогда - как)? Или все дело в проге VentaFax, т.е. она некорректно работает? Заранее как всегда благодарен! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2004, 10:30:30 |
|
||
|
Правильно ли я общаюсь с ShellExecute (применительно к программе рассылки VentaFax) ?
|
|||
|---|---|---|---|
|
#18+
Короче, только таймер меня спасает. Дал заведомо достаточную задержку, чтобы прога отработала, никаких лишних вопросов, открытых рекордсетов и все такое. Передал в ShellExecute параметры запуска - и не дышать в течение полминуты. Во, блин автоматизация :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2004, 19:33:54 |
|
||
|
Правильно ли я общаюсь с ShellExecute (применительно к программе рассылки VentaFax) ?
|
|||
|---|---|---|---|
|
#18+
Млин... Где-то видел код, который запускает внешнее приложение и дожидается завершения его работы. Может поможет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2004, 19:35:19 |
|
||
|
Правильно ли я общаюсь с ShellExecute (применительно к программе рассылки VentaFax) ?
|
|||
|---|---|---|---|
|
#18+
Я не знаю точно, что конкретно делает этот код Как дождаться завершения выполнения Shell?, но на уровне эмоций наверное - типа приложение запустилось, отработало, закрылось. Но в той штуке, которую запускаю я (VentaFax) задача "Расписание" является вроде бы даже самостоятельной аппликацией. VentaFax у меня типа открыто уже и воспринимает посылку из Shell только чтобы изъять оттудова ключи (факс, путь и пр.). Если вводить всю прогу в режим ОткройсяВся - прими посылку - Закройся, то по времени получится не полминуты, а больше. Так что хрен с ним. Нет нормального управления заданиями в виндах и нет. Обойдемся песочными часами подходящего размера ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2004, 19:55:19 |
|
||
|
Правильно ли я общаюсь с ShellExecute (применительно к программе рассылки VentaFax) ?
|
|||
|---|---|---|---|
|
#18+
ТемныйМлин... Где-то видел код, который запускает внешнее приложение и дожидается завершения его работы. Может поможет? Здесь, наверно... am.rusimport.ru/MSAccess/topic.aspx?ID=119 . Лифчик, там, внизу почитай еще и обсуждение статьи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2004, 19:58:06 |
|
||
|
Правильно ли я общаюсь с ShellExecute (применительно к программе рассылки VentaFax) ?
|
|||
|---|---|---|---|
|
#18+
Спасибо, это щас попробую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2004, 20:07:16 |
|
||
|
Правильно ли я общаюсь с ShellExecute (применительно к программе рассылки VentaFax) ?
|
|||
|---|---|---|---|
|
#18+
[VBScript] Dim WshShell, oExec Set WshShell = CreateObject("WScript.Shell") Set oExec = WshShell.Exec("calc") Do While oExec.Status = 0 WScript.Sleep 100 Loop ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2004, 20:07:59 |
|
||
|
Правильно ли я общаюсь с ShellExecute (применительно к программе рассылки VentaFax) ?
|
|||
|---|---|---|---|
|
#18+
2Лифчик о результатах обязательно в полном виде.!!! аналогичная задача назревает и у меня, хочу встретить с честью (в твоем лице)!!!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2004, 20:10:35 |
|
||
|
Правильно ли я общаюсь с ShellExecute (применительно к программе рассылки VentaFax) ?
|
|||
|---|---|---|---|
|
#18+
Victosha[VBScript] Dim WshShell, oExec Set WshShell = CreateObject("WScript.Shell") Set oExec = WshShell.Exec("calc") Do While oExec.Status = 0 WScript.Sleep 100 LoopСтатус=0 это что, напомни плз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2004, 20:10:50 |
|
||
|
Правильно ли я общаюсь с ShellExecute (применительно к программе рассылки VentaFax) ?
|
|||
|---|---|---|---|
|
#18+
вадя2Лифчик о результатах обязательно в полном виде.!!! аналогичная задача назревает и у меня, хочу встретить с честью (в твоем лице)!!!!!!Тоже с Вентой будешь работать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2004, 20:12:41 |
|
||
|
Правильно ли я общаюсь с ShellExecute (применительно к программе рассылки VentaFax) ?
|
|||
|---|---|---|---|
|
#18+
wsh 5.6 PS попробуй свой исходный код так, ShellExecute(0, "open", VentaFax, CommandString, 0, SW_HIDE) DoEvents 'MsgBox "Факс попал в расписание?", vbOKOnly (с выражением лица) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2004, 20:15:07 |
|
||
|
Правильно ли я общаюсь с ShellExecute (применительно к программе рассылки VentaFax) ?
|
|||
|---|---|---|---|
|
#18+
статус=0 - еще работает статус=1 уже завершилось (с выражением лица) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2004, 20:16:07 |
|
||
|
Правильно ли я общаюсь с ShellExecute (применительно к программе рассылки VentaFax) ?
|
|||
|---|---|---|---|
|
#18+
ЛифчикЯ не знаю точно, что конкретно делает этот код Как дождаться завершения выполнения Shell?, но на уровне эмоций наверное - типа приложение запустилось, отработало, закрылось. Но в той штуке, которую запускаю я (VentaFax) задача "Расписание" является вроде бы даже самостоятельной аппликацией. VentaFax у меня типа открыто уже и воспринимает посылку из Shell только чтобы изъять оттудова ключи (факс, путь и пр.). Если вводить всю прогу в режим ОткройсяВся - прими посылку - Закройся, то по времени получится не полминуты, а больше. Так что хрен с ним. Нет нормального управления заданиями в виндах и нет. Обойдемся песочными часами подходящего размера Ты именно так и пытаешься делать - откройся - закройся - откоройся заново. Ищи способ обратиться к "расписанию" как com- объекту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2004, 20:18:38 |
|
||
|
Правильно ли я общаюсь с ShellExecute (применительно к программе рассылки VentaFax) ?
|
|||
|---|---|---|---|
|
#18+
Victoshawsh 5.6 Нетути такой библы. Есть объект Wshell в WMI Scripting v.1.1. На мастая лезть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2004, 20:47:02 |
|
||
|
Правильно ли я общаюсь с ShellExecute (применительно к программе рассылки VentaFax) ?
|
|||
|---|---|---|---|
|
#18+
Ладно, завтра докуем. У проги ключи еще интересные обнаружились, запуск в минимизированном виде, завершить сеанс без выгрузки исполнит.модуля. Может и получится чего-нить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2004, 20:53:32 |
|
||
|
Правильно ли я общаюсь с ShellExecute (применительно к программе рассылки VentaFax) ?
|
|||
|---|---|---|---|
|
#18+
wsh 5.6 - это версия Windows Scripting Host. 5.6 у тебя установлен, если работаешь на WinXP или установлен 6-й эксплорер. Можно поставить отдельно. "Свою" загрузку ищи начиная отсюда http://msdn.microsoft.com/library/default.asp?url=/downloads/list/webdev.asp Свою версию (до загрузки) проверить можно так: Нижеследующий текст сохрани в файле с расширением .vbs и запусти его, (дважды ) жмакнув мышом на ём... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. авторнету такой библы в данном случае искать надо Microsoft Scripting Runtime. На эту же dll смотрят Microsoft VBScript Globals и Microsoft VBScript Regular Expression 5.5 PS насчет "доделаем" - я с Ventafax делов не имел... Но, так себе представляю, что печатать на него нада... доку что ли каку по нему выложи, - что-то я не нашел ничего, а програмь ради нея (доки) тянуть - страсть как не хочется... ЗЫ2 попробуй все же в своем исходном коде - 1)ноль в качестве родительского окна 2)DoEvents после вызова ShelExecute (посмотри в мсдн для ShellExecute коды возврата - если <32 то одна из описанных ошибок) И еще -всё-таки не шибко это здорово - форму за рекордсет ворочать. Хотя, похоже, в твоем случае проблема вокруг первого и двух последних параметров ShellExecute крутятся... (с выражением лица) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2004, 02:31:54 |
|
||
|
Правильно ли я общаюсь с ShellExecute (применительно к программе рассылки VentaFax) ?
|
|||
|---|---|---|---|
|
#18+
хочу попробовать... мне надоело бумажные факсы отправлять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2004, 07:35:55 |
|
||
|
Правильно ли я общаюсь с ShellExecute (применительно к программе рассылки VentaFax) ?
|
|||
|---|---|---|---|
|
#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. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2004, 09:23:51 |
|
||
|
Правильно ли я общаюсь с ShellExecute (применительно к программе рассылки VentaFax) ?
|
|||
|---|---|---|---|
|
#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. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2004, 15:01:41 |
|
||
|
Правильно ли я общаюсь с ShellExecute (применительно к программе рассылки VentaFax) ?
|
|||
|---|---|---|---|
|
#18+
Короче, проходит вариант Kedzo (Риспект!). Причем - основной модуль Венты ДОЛЖЕН БЫТЬ ЗАГРУЖЕН!!! Иначе начинаются всякие висяки и побочные ветки (запускается менеджер сообщений и проч. непонятки) Код: Код: 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. Уважаемые модераторы! Не соблаговолите за труд добавить в название топика строчки : Правильно ли я общаюсь с ShellExecute? (применительно к программе рассылки VentaFax). PS Всем спасибо! Пивной животик вам, друзья, от меня гарантирован :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2004, 19:26:42 |
|
||
|
Правильно ли я общаюсь с ShellExecute (применительно к программе рассылки VentaFax) ?
|
|||
|---|---|---|---|
|
#18+
2 Лифчик Проздравляю достигнутым успехом. (с выражением лица) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2004, 21:18:36 |
|
||
|
Правильно ли я общаюсь с ShellExecute (применительно к программе рассылки VentaFax) ?
|
|||
|---|---|---|---|
|
#18+
Короче - рано я радовался Работал на С:. Потом переместился на сетевой диск и снова потянулись проблемы (кстати - у меня на сети и база не компактится-не сжимается - может от этого все траблы?) Короче - однозначно пришлось добавить опрос очереди на принтер VentaFax (как имело место при манипуляциях с Acrobat-Distillerom). Код: 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. 65. 66. 67. 68. 69. 70. 71. 72. 73. Я ему жму ОК, он выходит из п/п ДБЛ клик, а я сразу опять нажимаю и прога благополучно (ну в пределах моих небольших тестовых объемов - 10-15 штук) обрабатывает остальные строчки формы. Ясно, что за первый проход запускается какая-то процедура, которая не успевает закрыться ко второму заходу, но как это отловить??? Причем задержка, которую я там поставил FirstStep - ни хрена не помогает. Прога должна обязательно вывалиться и снова запуститься. Короче - открыт еще вопрос. Работать можно, но немного нервно. Может у Вади лучше получится? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2004, 21:21:03 |
|
||
|
Правильно ли я общаюсь с ShellExecute (применительно к программе рассылки VentaFax) ?
|
|||
|---|---|---|---|
|
#18+
для начала - пробуй не пользоваться рекордсетом формы - открой свой "такой же" и посмотри - воспроизводится ли ошибка. или вали ПОЛНЫЙ код обеих (Всех) форм, задействованных в процессе. (с выражением лица) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2004, 23:31:55 |
|
||
|
Правильно ли я общаюсь с ShellExecute (применительно к программе рассылки VentaFax) ?
|
|||
|---|---|---|---|
|
#18+
Отвязал рекордсет. Вылетания прекратились, но все вернулось к ситуации почти месячной давности, когда в расписание заносится первая строка, а затем многократно дублируется какая-то промежуточная (если номеров не много - то последняя. Вот код во всех двух формах + функция и описания Kedzo, которые есть выше. Код: 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. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2004, 13:20:57 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32703190&tid=1671518]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
37ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 347ms |

| 0 / 0 |
