Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемма с Outlook XP, Непонятность... 
:(
    Опции темы
winged
Дата 12.5.2006, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 12.5.2006

Репутация: нет
Всего: нет



Имеем некую программу, которая вызывает Оутлук, создает письма, отправляет по известным адресам... но вот возникла проблемма, если работаем в Win2k and MS Outlook 97 - то все просто сказка...
А если работаем под WinXP and MS Outlook XP - то имеем неприятный момент:
когда происходит отправка множества писем, программа пытается закрыть оутлук, но тот остается в памяти... соответственно в итоге их становится все больше и больше - пока не глохнет все нафиг
Есть подозрение что 
Код

Function Mail_To_Consumers( _
res = True
Set jOutlook = CreateObject("Outlook.Application")
If jOutlook Is Nothing Then
    Mail_To_Consumers = Show_Message(True, errNoMAPIsession)
    Exit Function
End If
Set jOutlookMsg = jOutlook.CreateItem(0)
Set_Window OnTop:=False
With jOutlookMsg
    .Body = Mess_Body
    .Subject = "Текст темы"
    .Importance = Get_Priority_Id(Priority)
    If Not (jOutlookAttach Is Nothing) Then
        jOutlookAttach.DisplayName = Display_Name()
    End If
    For i = 1 To cCons_Aggr.Count
        With cCons_Aggr.Item(i)
            If Presented(.Cons_Mail_Addr) Then
                Set jOutlookRecip = _
                        jOutlookMsg.Recipients.Add(.Cons_Mail_Addr)
            End If
        End With
    Next i
    jOutlookMsg.sentonbehalfofname = sUSER_Mail
            .Save
            .Display
            Set_Window OnTop:=True
            .Send
    End If
End With

jOutlook.quit
Set joutlook = Nothing

Mail_To_Consumers = res
Exit Function
res = False
Resume Next
End Function

Где-то кто-то обмолвился что просто joutlook.quit не достаточно... - но вот более подробной информации по етому поводу не нашел...

Может тут умные люди подскажут?   

Это сообщение отредактировал(а) winged - 12.5.2006, 15:16
PM MAIL   Вверх
Akina
Дата 12.5.2006, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



В VB6 нет функций/процедур с именами Trace, Set_Nothing... посему что Вы имеете в виду - понять в принципе невозможно.

Переформулируйте вопрос исходя из постулата, что читающие НИЧЕГО не знают о Вашем коде и не обладают телепатическими способностями. 


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
winged
Дата 12.5.2006, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 12.5.2006

Репутация: нет
Всего: нет



Понятно что так не лучше, счас время появится - оформлю... 
Поправил, правда переменные не трогал, но все лишнее выкинул. 

Это сообщение отредактировал(а) winged - 12.5.2006, 14:23
PM MAIL   Вверх
Akina
Дата 12.5.2006, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Цитата(winged @  12.5.2006,  11:42 Найти цитируемый пост)
Где-то кто-то обмолвился что просто joutlook.quit не достаточно... - но вот более подробной информации по етому поводу не нашел...

Информация есть в описании функции CreaterObject. Из него следует что вместо 
Код
joutlook.quit 
должно быть
Код
joutlook.Application.Quit 
Set joutlook = Nothing
 


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
winged
Дата 12.5.2006, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 12.5.2006

Репутация: нет
Всего: нет



Приношу извинения, невнимательно почистил, Set joutlook = nothing добавил, т.к есть в первоисточнике.
Изменение joutlook.quit на joutlook.application.quit ничего не дало. 
PM MAIL   Вверх
winged
Дата 12.5.2006, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 12.5.2006

Репутация: нет
Всего: нет



Обращаю внимание, на то, что фактически в программе ошибки нету, поскольку несколько лет стабильно работало на Win2000 MS Outlook 97...
Проблеммы появились с переходом на WinXP MS Outlook XP...
Как выглядит это:
Стоит на отправку несколько десятков сообщений...
Запускаемся, поднимаем оутлук, создаем письмо, отправляем, закрываемся.
Запускаемся второй раз, создаем письмо, отправляемся, закрываемся.
Запускаемся третий раз, создаем письмо, отправляемся, закрываемся... опа а оутлук остался в памяти...
Запускаемся в четвертый раз, создаем письмо, отправляемся, закрываемся... опа уже 2 в памяти...
....
....
Запускаемся в 15 раз, создаем письмо, отправляемся, закрываемся... ой уже 13 в памяти оутлуков...
Запускамемся в 16 раз, получаем ошибку при работе с почтовой службой...

Вопрос как это обойти? Оптимизировать? Пофиксить?
Вроже и ошибок нет, и не работает.  smile  
PM MAIL   Вверх
Drema
Дата 12.5.2006, 17:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 26.7.2005

Репутация: нет
Всего: нет



Перед запуском новой копии нужно сделать паузу для выгрузки первой копии.
Все для Microsoft Outlook 
PM MAIL   Вверх
winged
Дата 15.5.2006, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 12.5.2006

Репутация: нет
Всего: нет



А если не просто "паузу"...
Вот как тут сделать Set joutlook = Nothing только после того, как убедимся, что joutlook.Quit ?
Ктонибудь может подсказать? 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0647 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.