Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 1 400

/ вопрос открыт /

Приветствую, уважаемые эксперты!
У меня такой вот вопрос... При отсылке почты через компонент IdSMTP программа виснет. Как можно избежать этого, например приделать к отсылке ProgressBar...

Василий Иванович Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Василий Иванович (статус: Посетитель)
Вопрос отправлен: 10 марта 2008, 10:23
Состояние вопроса: открыт, ответов: 2.

Ответ #1. Отвечает эксперт: Вадим К

Здравствуйте, Василий Иванович!
Ответ прост - использовать потоки. В случае Indy - это идиологически единственный правильный вариант решения. Это не слишком сложно, чем можно подумать.
В разделе статьи вы найдёте статью Скачиваем файлы из интернета, где приводиться пример с IdHttp. Материала там достаточно, что бы решить вашу задачу.
Есть ещё один способ, но более сложный. Сделать отдельное приложение, которое будет скачивать, а вы с ним работать. Но это для особых случаем.

Ответ отправил: Вадим К (статус: Академик)
Время отправки: 10 марта 2008, 12:48
Оценка за ответ: 5

Ответ #2. Отвечает эксперт: Feniks

Здравствуйте, Василий Иванович!
Использование SMTP Relay Server - отсылка письма напрямую минуя любые промежуточные сервера (пример взят из библиотеки Indy). Для отсылки письма с использованием компонентов Indy. Пример для Delphi 7 (скорее всего будет работать и в Delphi 6), для Kylix 3 нужны небольшие исправления для перевода в CLX приложение (сама функциональность та же).
Пример и форма в Атаче.
К ответу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки ответа)

Ответ отправил: Feniks (статус: Бакалавр)
Время отправки: 11 марта 2008, 11:22


Мини-форум вопроса

Всего сообщений: 4; последнее сообщение — 11 марта 2008, 23:24; участников в обсуждении: 2.
Василий Иванович

Василий Иванович (статус: Посетитель), 10 марта 2008, 12:41 [#1]:

И еще: при таком вот коде:
uses
IdAttachment;
...
var
nam: string;
Attach: TIdAttachment;
...
Attach:=TIdAttachment.Create(IdMessage1.MessageParts, nam);

Выдает ошибку Too many actual parameters
Если в uses не прописать IdAttachment, то:
[Error] Unit1.pas(88): E2003 Undeclared identifier: 'TIdAttachment'
Вадим К

Вадим К (статус: Академик), 11 марта 2008, 15:45 [#2]:

в делфи 6 и 7 используются различные версии инди. а там была значительно переделана архитектура. поэтому нужно смотреть, какие параметры надо. Остановите курсор (текстовый) сразу за открывающейся скобкой и нажмите Ctrl+пробел. делфи подскажет параметры.
Галочка "подтверждения прочтения" - вселенское зло.
Василий Иванович

Василий Иванович (статус: Посетитель), 11 марта 2008, 18:59 [#3]:

У меня делфи 2005. Версия Инди то ли 9, то ли 10
При открытии скобки (Attach:=TIdAttachment.Create() сразу всплывает хинт Collection: TCollection;
Вадим К

Вадим К (статус: Академик), 11 марта 2008, 23:24 [#4]:

я написал так Attach:=TIdAttachment.Create(IdMessage1.MessageParts); и всё компилируется. к сожалению, я не знаю, что такое nam, подозреваю, что это имя чего то.смотрите по логике программы.
Галочка "подтверждения прочтения" - вселенское зло.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:35
Выполнено за 0.02 сек.