Форум программистов, компьютерный форум, киберфорум
C++: Сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/10: Рейтинг темы: голосов - 10, средняя оценка - 4.60
 Аватар для stashappy
42 / 42 / 13
Регистрация: 21.08.2011
Сообщений: 625

Проблемы с вложением файла

24.08.2011, 09:13. Показов 2129. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Коде smtp сендера со вложение файла:



C++
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
#include <vcl.h>
#include <stdio.h>
#include <winsock2.h>
#include <IdAttachmentFile.hpp>
 
 
       IdSMTP1->AuthenticationType=atLogin;
        IdSMTP1->UserId = "qwerty1@yandex.ru";
        IdSMTP1->Password = "***";
        IdSMTP1->Host = "smtp.yandex.ru";
        IdSMTP1->Port = 25;
 
    IdSMTP1->Connect();
 
        if (IdSMTP1->Authenticate())    {
                TIdMessage* msg = new TIdMessage(Form1);
                TIdAttachment *file = new TIdAttachment(msg->MessageParts, "c:\\1.txt");
                msg->CharSet = "Windows-1251";
                msg->Subject = "Cookie_Data";
                msg->Body->Add("");
                msg->MessageParts->Add();
                msg->MessageParts->Items[0] = file;
                msg->From->Text = "qwerty1@yandex.ru";
                msg->Recipients->EMailAddresses = "qwerty2@yandex.ru";
                msg->Priority = TIdMessagePriority(mpHighest);
 
 
 
        IdSMTP1->Send(msg);
        IdSMTP1->Disconnect();
        msg->Free();
        }
}
При компиляции выходит ошибка:
[C++ Error] Unit1.cpp(35): E2015 Ambiguity between 'TIdAttachment' and 'Idattachment::TIdAttachment'


В чем может быть проблема?.. Подскажите.

Добавлено через 7 часов 36 минут
Хоть ктонибудь может обратит свой взор на данную тему и поможет нуждающемся?:-)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.08.2011, 09:13
Ответы с готовыми решениями:

Проблемы с загрузкой файла
Привет. Есть небольшая проверка. Испытывал всякие способы загрузки и всё таки остановился на WinInet. Получился такой кодик: function...

Проблемы с чтением из файла
Здравствуйте все! У меня сразу два вопроса. Начну с того, который попроще. Я осваиваю библиотеку fstream, решил написать небольшой кусочек...

Проблемы со считыванием из файла
Добрый день, есть код программы &quot;Словарь&quot;, всё работает, но не совсем как нужно. При запуске программы пользователь должен ввести слово и...

14
 Аватар для Aneron
166 / 164 / 27
Регистрация: 20.04.2010
Сообщений: 607
24.08.2011, 09:42
это весь код сендера?

Похоже на то,что у тебя несколько реализаций TIdAttachment.(судя по переводу ошибки. сам с такой ошибкой не сталкивался)
1
 Аватар для stashappy
42 / 42 / 13
Регистрация: 21.08.2011
Сообщений: 625
24.08.2011, 10:41  [ТС]
Нет. Это всего лишь часть кода.

Я не понимаю. Почему выходит ошибка. Копался в интернете. Люди использовали этот же код и у них функционирует нормально. А у меня какое то безобразие..
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
24.08.2011, 11:22
'TIdAttachment' and 'Idattachment::TIdAttachment'

Не может выбрать какой из классов (?) использовать. Один в глобальном пространстве имен. Другой в пространстве Idattachment.

using namespace используется?
1
 Аватар для stashappy
42 / 42 / 13
Регистрация: 21.08.2011
Сообщений: 625
24.08.2011, 11:34  [ТС]
Нет. Не используется.. Есть какое нибудь решение данной проблемы?..
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
24.08.2011, 11:45
stashappy, Предоставить полный код. И тогда уже будет проще разобраться.
Вот этот файлик бы в том числе.
IdAttachmentFile.hpp
1
 Аватар для stashappy
42 / 42 / 13
Регистрация: 21.08.2011
Сообщений: 625
24.08.2011, 12:02  [ТС]
C++
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
#include <vcl.h>
#include <stdio.h>
#include <iostream.h>
#include <winsock2.h>
#include <IdAttachmentFile.hpp>
 
#pragma hdrstop
#pragma comment(lib, "ws2_32.lib")
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
       IdSMTP1->AuthenticationType=atLogin;
        IdSMTP1->UserId = "qwerty@yandex.ru";
        IdSMTP1->Password = "*****";
        IdSMTP1->Host = "smtp.yandex.ru";
        IdSMTP1->Port = 25;
 
    IdSMTP1->Connect();
 
        if (IdSMTP1->Authenticate())    {
                TIdMessage* msg = new TIdMessage(Form1);
                TIdAttachment *file = new TIdAttachment(msg->MessageParts, "c:\\1.txt");
                msg->CharSet = "Windows-1251";
                msg->Subject = "тема";
                msg->Body->Add("");
                msg->MessageParts->Add();
                msg->MessageParts->Items[0] = file;
                msg->From->Text = "qwerty@yandex.ru";
                msg->Recipients->EMailAddresses = "qwerty2@yandex.ru";
                msg->Priority = TIdMessagePriority(mpHighest);
 
 
 
        IdSMTP1->Send(msg);
        IdSMTP1->Disconnect();
        msg->Free();
        }
}

Вот весь код. Если убрать функцию вложения файла, он работает стабильно. Письмо успешно отправляется. Я убрал все лишнее и просто впихнул сразу в тформ, чтобы небыло лишней путаницы.
Вложения
Тип файла: zip IdAttachmentFile.zip (861 байт, 24 просмотров)
0
 Аватар для kazak
3604 / 2744 / 356
Регистрация: 11.03.2009
Сообщений: 6,306
24.08.2011, 12:06
Откуда взялся этот файл? IdAttachmentFile.hpp
1
 Аватар для stashappy
42 / 42 / 13
Регистрация: 21.08.2011
Сообщений: 625
24.08.2011, 12:18  [ТС]
Возможно вы будете смеяться.. Я не удивлюсь.. Но этот файл я взял из indy 10 который я скачал с интернета и затем скопировал вышеуказанный файл в каталог: "C:\Program Files\Borland\CBuilder6\Include\Vcl". Изначально, его в данном каталоге не было.

Если я что то сделал не так, сильно не ругайте.))))
0
 Аватар для kazak
3604 / 2744 / 356
Регистрация: 11.03.2009
Сообщений: 6,306
24.08.2011, 12:26
А-а-а, теперь понятно, походу старая версия осталась.
Суда заглядывали? http://www.indyproject.org/KB/... ndybcb.htm

Добавлено через 3 минуты
И новая версия, я так понимаю, не полностью установленна.
1
 Аватар для stashappy
42 / 42 / 13
Регистрация: 21.08.2011
Сообщений: 625
24.08.2011, 12:29  [ТС]
Я так понимаю это инструкция по обновлению indy..
0
 Аватар для kazak
3604 / 2744 / 356
Регистрация: 11.03.2009
Сообщений: 6,306
24.08.2011, 12:32
Именно...
1
 Аватар для stashappy
42 / 42 / 13
Регистрация: 21.08.2011
Сообщений: 625
24.08.2011, 16:53  [ТС]
У меня уже скоро совсем поедет крыша.

Удал свой старый борланд с++ 6 и установил борланд с++ 2007. Пробую этот же самый код сендера, в 2007 версии и выходит снизу вот такая ошибка такая ошибка:

Project Project1.exe raised exception class EIdSASLMechNeeded with message 'Need SASL mechanisms to login with it!!'.

Что это может значить? И как это исправить?..

Добавлено через 18 минут
Ох. Заработало!!

Почта отправляется. Оказывается стоял параметр: atSASL, вместо atDefault.
Но теперь снова появились проблемы со вложенным файлом.

Выходит вот такая ошибка:

[BCC32 Error] Unit1.cpp(35): E2352 Cannot create instance of abstract class 'TIdAttachment'
[BCC32 Error] Unit1.cpp(35): E2353 Class 'TIdAttachment' is abstract because of '_fastcall TIdAttachment::OpenLoadStream() = 0'

Что это может означать?..
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
24.08.2011, 16:56
stashappy, Читайте интернет. Нужно использовать TIdAttachmentFile.
1
 Аватар для stashappy
42 / 42 / 13
Регистрация: 21.08.2011
Сообщений: 625
24.08.2011, 17:12  [ТС]
Спасибо всем огромное!

Наконец то заработало.

Вписал вот такую строчку:

C++
1
2
TIdAttachment *att;
new TIdAttachmentFile(msg->MessageParts, "c:\\1.txt");
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.08.2011, 17:12
Помогаю со студенческими работами здесь

Проблемы с чтением файла на c++
Задача: Сформировать массив данных с помощью структуры. Предметная область – данные о студентах имеющих публикации (номер по порядку,...

Проблемы с чтением файла
Доброго вечера, товарищи. Тут такое дело. Есть массив студентов с их данными. Вроде бы все хорошо, и добавить можно, и удалить нужную...

Проблемы чтения из файла
Здравствуйте, более опытные товарищи паскальщики. Есть проблема, решения которой я не нашел самостоятельно. Есть программа, целью...

Проблемы с кодировкой файла
При открытии файла ворд предлагает выдать кодировку,ни одна не подходит.В файле таблица и текст

Проблемы с копированием файла
Копирую файл из указанного места в нужную мне папку. Пишу вспомогательную процедуру для копирования. Если в моей папке данного файла нет,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru