Вверх ↑
Этот топик читают: Гость
Ответов: 85
Рейтинг: 0
#1: 2012-09-24 13:57:52 ЛС | профиль | цитата
Программа логинится к почтовому серверу на smtp.rambler.ru а у них в последнее время какие-то сбои, вроде smtp компонент получает сообщение welcome от сервера и считает что он работает корректно, но дальнейшей отправки почты не происходит из за сбоя smtp, и программа висит в памяти до бесконечности делая попытки отправить почту и в итоге вообще все зависает.
Можно ли добавить значение таймаута в модуль smtp по истечению которого smtp будет считать что произошёл сбой?
Или лучше onerror - чтобы на это событие допустим выполнить какое-то действие?
карма: 0

0
Ответов: 704
Рейтинг: 7
#2: 2014-02-22 01:01:36 ЛС | профиль | цитата
И вправду! Если компонент не смог отправить почту, что он висит до победного. Как остановить процесс отправки, если я знаю что он висит, не перезапуская программу?
Таймаута не дождался. Может плохо ждал?
карма: 0

0
Ответов: 1343
Рейтинг: 31
#3: 2014-02-22 12:51:44 ЛС | профиль | цитата
а разве кто то отменил мультик и 2 точки ##add и ##clear
и таймаут паралельно скажем на 5 сек

Итог:
запуск мультика, паралельно таймер
если всё успешно то в первую очередь остановка таймера дабы избежать таймаута, и событие good
если провал то само собой таймер сам звершит дело (в первую очередь мултик ##clear и выдача события таймаут)

а вот насчёт debug self destruction (ну если он вылезет при очищении мультика) то можно попробовать либо защиту проекта из инструментов либо ручками через OLY ищем вроде JMP сообщения и тупо отрубаем его
карма: 2

1
Голосовали:Neo
Разработчик
Ответов: 26113
Рейтинг: 2126
#4: 2014-02-22 13:16:50 ЛС | профиль | цитата
Rysik писал(а):
а вот насчёт debug self destruction (ну если он вылезет при очищении мультика) то можно попробовать либо защиту проекта из инструментов

Советчик, мля. Это событие говорит о том, что была попытка удалить самого себя из себя же. Решается разделением очереди событий, добавлением на точку ##clear одноразового таймера, можно с задержкой 1, или компонента DeferredEvent
карма: 22

0
Ответов: 1343
Рейтинг: 31
#5: 2014-02-22 13:20:20 ЛС | профиль | цитата
nesco писал(а):
добавлением на точку ##clear одноразового таймера, можно с задержкой 1, или компонента DeferredEvent


пробовали уже неоднократно! ...

и блин чё мало таймера 5сек???
причём НЕ ИЗ ТОЧКИ МУЛЬТИКА!
карма: 2

0
Ответов: 704
Рейтинг: 7
#6: 2014-02-22 13:28:12 ЛС | профиль | цитата
Rysik, я еще и рыпнулся в сторону мультика, но как-то забылось. Дайте пример с этими точками.
------------ Дoбавленo в 13.28:
Сделаю таймер на отправку на 30 сек. Пусть удаляет и запускает мультик до момента, пока успешная отправка не остановит таймер.
карма: 0

0
Ответов: 1343
Рейтинг: 31
#7: 2014-02-22 13:45:35 ЛС | профиль | цитата
ну как то так:

code_33140.txt

WARNING
циклы иногда тупо залипают и поэтому лучше делать простой таймер
вот так:

Add(MainForm,2953706,126,112)
{
link(onCreate,327174:doEvent1,[(170,132)(170,125)])
}
Add(MultiElementEx,7763876,322,126)
{
Mode=1
link(1,5265142:doStop,[(368,132)(368,183)(212,183)(212,153)])
}
BEGIN_SDK
Add(EditMultiEx,575247,21,21)
{
WorkCount=#5:##add|7:##clear|
EventCount=#1:1|
Point(##add)
Point(##clear)
link(##add,1750131:doSend,[(59,27)(59,62)])
}
Add(SMTP,1750131,98,56)
{
link(onSend,550385:doCompare,[])
}
Add(If_else,550385,154,56)
{
link(onTrue,575247:1,[(254,62)(254,27)])
}
END_SDK
Add(Timer,5265142,231,140)
{
Interval=30000
link(onTimer,16410299:doEvent2,[(271,146)(271,139)])
}
Add(Hub,327174,182,119)
{
link(onEvent1,16410299:doEvent1,[(245,125)(245,132)])
link(onEvent2,5265142:doTimer,[(214,132)(214,146)])
}
Add(Hub,16410299,280,126)
{
InCount=2
link(onEvent1,7763876:##clear,[(308,132)(308,139)])
link(onEvent2,7763876:##add,[(308,139)(308,132)])
}
карма: 2

0
файлы: 1code_33140.txt [932B] [434]
Ответов: 4628
Рейтинг: 749
#8: 2014-02-22 13:49:11 ЛС | профиль | цитата
Не совсем понятно, почему динамические контейнеры не могут позволить выполнить ##clear из самого себя - это же мог бы быть Free экземпляра схемы, в Destroy которой делается Free остальных элементов...
карма: 26

0
Ответов: 1343
Рейтинг: 31
#9: 2014-02-22 13:50:38 ЛС | профиль | цитата
Netspirit писал(а):


согласен кака в этой области..

НО как все мы знаем есть динамические дллки а это ничуть не уступает мультикам, ну и так же можно сделать сторонюю програмку с параметрами со связями и прочее...
карма: 2

0
Ответов: 4628
Рейтинг: 749
#10: 2014-02-22 13:52:56 ЛС | профиль | цитата
Rysik, каким образом "динамические дллки" помогают заменить контейнеры, позволяющие создавать неограниченное количество своих копий во время выполнения?
карма: 26

0
Ответов: 1343
Рейтинг: 31
#11: 2014-02-22 14:01:03 ЛС | профиль | цитата
Netspirit писал(а):
каким образом "динамические дллки" помогают заменить контейнеры, позволяющие создавать неограниченное количество своих копий во время выполнения?


ммм да что то нето ляпнул просто где то что то недавно видел
карма: 2

0
Ответов: 9906
Рейтинг: 351
#12: 2014-02-22 14:02:04 ЛС | профиль | цитата
Netspirit писал(а):
Не совсем понятно, почему динамические контейнеры не могут позволить выполнить ##clear из самого себя

Заблокируй контроль, порасковыривай баги (не на одной схеме, а на всяких разных) -- станет понятно.
Ибо лучше всего доходит "через руки".
Сто раз уже рассказывал почему -- все равно, не действует.
карма: 9

0
Ответов: 1343
Рейтинг: 31
#13: 2014-02-22 14:03:47 ЛС | профиль | цитата
Netspirit писал(а):
неограниченное количество своих копий




с каких пор у нас бесконечная память на компе + если у нас в контейнере хоть какой то поток есть то уже ограничение на ~1450 !!! после runtime error
карма: 2

0
Ответов: 4628
Рейтинг: 749
#14: 2014-02-22 14:07:36 ЛС | профиль | цитата
Копался я в этих контейнерах - сделано все как-то через ... Предполагаю, чтобы не сильно переделывать существующие на тот момент компоненты.
Rysik писал(а):
с каких пор у нас бесконечная память на компе
Ладно, ограничиваясь только объемом памяти и размером экземпляра
карма: 26

0
Ответов: 1343
Рейтинг: 31
#15: 2014-02-22 14:12:25 ЛС | профиль | цитата
Netspirit писал(а):
Ладно, ограничиваясь только объемом памяти и размером экземпляра


а как же ПОТОКИ????
карма: 2

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)