Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Переход на Indy 10: Изменения для вашего кода

Delphi , Интернет и Сети , Почтовый клиент

Обновление кода под Indy 10

С переходом на новую версию библиотеки Indy 10, разработчикам, использующим этот популярный инструментарий для работы с сетью в среде Delphi и Pascal, необходимо обновить свои проекты. В данной статье мы рассмотрим изменения, которые нужно внести в код, чтобы адаптировать его под Indy 10.

Изменения в Indy

Среди наиболее значимых изменений в Indy 10 — это перемещение свойства StoredPathName из класса TIdMessagePart в класс TIdAttachmentFile. Это означает, что для получения доступа к этому свойству необходимо сначала убедиться, что текущий элемент части сообщения является экземпляром TIdAttachmentFile.

Пример переработанного кода

Вот пример обновленного кода, который учитывает изменения в Indy 10:

vlist: TStringList;
...
for j := numEmails downto 1 do
begin
  Msg.Clear;
  Retrieve(j, Msg);
  ...
  for k := 0 to Msg.MessageParts.Count - 1 do
    if Msg.MessageParts[k] is TIdAttachmentFile then
      with TIdAttachmentFile(Msg.MessageParts[k]) do
        begin
          // Получение имени файла, который был отправлен.
          aname := FileName;
          ...
          if SameText(aname, ExtractFilename(PacketFilename))
            and FileExists(LongFilename(DestinationPath)) then
            begin
              // Чтение вложения и выполнение обратного вызова, если он определен.
              vlist.LoadFromFile(LongFilename(DestinationPath));
              ...
            end;
        end;
  ...
end;
...
Disconnect;
...
except
  on E: Exception do
    result := E.Message;
end;

Обратите внимание на изменение в цикле with. Теперь мы сначала проверяем, является ли элемент частью сообщения экземпляром TIdAttachmentFile, и только после этого выполняем операцию с приведением типа. Также стоит заменить StoredPathName на актуальный путь сохранения файлов, например, DestinationPath.

Изменения в методе Connect

В Indy 9 параметр метода Connect() представлял собой время ожидания установления соединения (ConnectTimeout). В Indy 10 этот параметр был вынесен в отдельное свойство. Если ранее использовался метод Connect(9000), то теперь следует вызвать просто Connect(), не передавая параметров.

Заключение

Переход на Indy 10 требует внимательного изучения изменений, внесенных в библиотеку. В данной статье мы рассмотрели основные моменты, которые необходимо учесть при обновлении кода: перемещение свойства StoredPathName и изменения в методе Connect. Следуя этим рекомендациям, вы сможете без проблем адаптировать ваш проект под новую версию Indy.

Создано по материалам из источника по ссылке.

Обновление кода под новый выпуск библиотеки Indy 10 для использования в среде Delphi и Pascal.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Почтовый клиент ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2024-12-26 17:07:43/0.0032241344451904/0