нужна помощь
От: devidblaine  
Дата: 24.11.09 22:18
Оценка:
Господа, подскажите пожалуйста как к приложению написанному на VS2008 проект создан как консольное приложение на С++
Необходимо прикрутить форму, указанный ниже код напрочь отказывается работать когда выбираю windows form аррlication
может нада задать какие то опции при компиляции проекта???

Заранее благодарен за квалифицированный ответ.

// SMTP.cpp : Defines the entry point for the console application.
//
//#import "SimpleEmailClient.dll" no_namespace

#include "stdafx.h"
#include "SMTP.h"
#include <winsock.h>

#ifdef _DEBUG
#define new DEBUG_NEW
#endif


// The one and only application object

//CWinApp theApp;

//using namespace std;

int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
    int nRetCode = 0;

    // initialize MFC and print and error on failure
    if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
    {
        // TODO: change error code to suit your needs
        _tprintf(_T("Fatal Error: MFC initialization failed\n"));
        nRetCode = 1;
    }
    else
    {
char* m_sServer="94.100.177.1";
char* m_sFrom="user@beeline.ru";
char* m_sTo="admin@beeline.ru";
char* m_sText="11111111111111111";
char* Tex="\\ 11111111111111111'M''M'\r\n\r\n.\r\n";


    char *MailMessage[] =
    {
        Serv,
        Login,
        Pass,
        From,
        To,
        "DATA\r\n Mail to: Федя<katleta_rubnaja@mail.ru>\r\n From: Alex<shtangencirkyl@mail.ru>\r\n Subject: key\r\n ",
        Tex,
        "QUIT\r\n",
        NULL
    };
int iLength = 0;
    int iEnd = 0;
    char sBuff[1024];
    int iMsg = 0;
//    char* message;
    SOCKET s;
    WSADATA    Wsa;
    SOCKADDR_IN    sin;
    WSAStartup(0x0101,&Wsa);
    s = socket(AF_INET,SOCK_STREAM,0);
    sin.sin_addr.S_un.S_addr= inet_addr(m_sServer);
    sin.sin_family = AF_INET;
    sin.sin_port = htons(25);

    if(connect(s,(LPSOCKADDR)&sin,sizeof(sin)) == SOCKET_ERROR)
    {
        closesocket(s);
        WSACleanup();
        return 1;
    };
    
Sleep(500);
    do
    {
        
        send(s,(LPSTR)MailMessage[iMsg],strlen(MailMessage[iMsg]),0);
        //Sleep(1000);
        iMsg++;
        iLength = recv(s,(LPSTR)sBuff+iEnd, sizeof(sBuff)-iEnd,0);
        
        iEnd += iLength;
        sBuff[iEnd] = '\0';
//    MessageBoxI(sBuff);
        Sleep(150);
    }while(MailMessage[iMsg+1]!=NULL);

    closesocket(s);
    WSACleanup();
    
        // TODO: code your application's behavior here.
    }

    return nRetCode;
}

добавлено оформление — Кодт
Re: нужна помощь
От: Аноним  
Дата: 24.11.09 22:54
Оценка:
Здравствуйте, devidblaine, Вы писали:

D> "DATA\r\n Mail to: Федя<katleta_rubnaja@mail.ru>\r\n From: Alex<shtangencirkyl@mail.ru>\r\n


оффтоп: сейчас Федю заспамят...
Re: нужна помощь
От: Аноним  
Дата: 25.11.09 08:21
Оценка:
Без [ccode] смотрится ужасно.
Что означает "напрочь отказывается"? Может то, что он работал — слишком удачное стечение обстоятельств? Просто выглядит как-то подозрительно, похож на набор костылей.
Я бы переделал код полностью.
Re[2]: нужна помощь
От: devidblaine  
Дата: 25.11.09 10:31
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Без [ccode] смотрится ужасно.

А>Что означает "напрочь отказывается"? Может то, что он работал — слишком удачное стечение обстоятельств? Просто выглядит как-то подозрительно, похож на набор костылей.
А>Я бы переделал код полностью.

Код полностью рабочий хоть и похожь на какой то набор, при добавлении в проект с формой идет конфликт присоединенных библиотек и появляется около 20-30 ошибок.
Re[3]: нужна помощь
От: Lorenzo_LAMAS  
Дата: 25.11.09 13:46
Оценка:
D>Код полностью рабочий хоть и похожь на какой то набор, при добавлении в проект с формой идет конфликт присоединенных библиотек и появляется около 20-30 ошибок.

что, ошибки — секретная информация?
Of course, the code must be complete enough to compile and link.
Re: нужна помощь
От: Chorkov Россия  
Дата: 25.11.09 14:28
Оценка:
Здравствуйте, devidblaine, Вы писали:

D>Господа, подскажите пожалуйста как к приложению написанному на VS2008 проект создан как консольное приложение на С++

D>Необходимо прикрутить форму, указанный ниже код напрочь отказывается работать когда выбираю windows form аррlication
D>может нада задать какие то опции при компиляции проекта???

D>Заранее благодарен за квалифицированный ответ.


...

1) Откуда взята SMTP.h ?
Гугль находит, в первую очередь, такой заголовочный файл в Qt.
Подозреваю, это не то, что ты используеш.

2) У тебя инициализируется MFC.
Возможно, стоит использовать MFC-е диалоги вместо WinForms.

3) Если все-таки используеш WinForms, почему бы не использовать System.Net.Mail ?
http://msdn.microsoft.com/ru-ru/library/system.net.mail.smtpclient.aspx
Re: нужна помощь
От: Мишень-сан  
Дата: 30.11.09 08:28
Оценка:
Здравствуйте, devidblaine, Вы писали:

[skipped]

ИМХО бардак полный. Вердикт — переделать с нуля.
1. _tmain подразумевает консольное приложение. MSDN по main() и WinMain().
2. Если уж инитите MFC, так его и используйте. MSDN по MFC tutorial.
Короче говоря, создайте базовые примерчики консольного и оконного Win32 приложений и sample app под MFC — все вопросы быстренько отпадут.
Вердикт: у вас не работает потому, что вы пишете под A, используете элементы B, а получить хотите то ли B, то ли С.
Re[2]: нужна помощь
От: Мишень-сан  
Дата: 30.11.09 08:31
Оценка:
Здравствуйте, Мишень-сан, Вы писали:

[skipped]

Да, и в догонку. Форматируйте пожалуйста код и используйте кнопочку "Предпросмотр", чтобы те, кто захочет Вам помочь, не ломали глаза, пытаясь понять, где какой блок.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.