Господа, подскажите пожалуйста как к приложению написанному на 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 failureif (!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] смотрится ужасно.
Что означает "напрочь отказывается"? Может то, что он работал — слишком удачное стечение обстоятельств? Просто выглядит как-то подозрительно, похож на набор костылей.
Я бы переделал код полностью.
Здравствуйте, Аноним, Вы писали:
А>Без [ccode] смотрится ужасно. А>Что означает "напрочь отказывается"? Может то, что он работал — слишком удачное стечение обстоятельств? Просто выглядит как-то подозрительно, похож на набор костылей. А>Я бы переделал код полностью.
Код полностью рабочий хоть и похожь на какой то набор, при добавлении в проект с формой идет конфликт присоединенных библиотек и появляется около 20-30 ошибок.
D>Код полностью рабочий хоть и похожь на какой то набор, при добавлении в проект с формой идет конфликт присоединенных библиотек и появляется около 20-30 ошибок.
что, ошибки — секретная информация?
Of course, the code must be complete enough to compile and link.
Здравствуйте, devidblaine, Вы писали:
D>Господа, подскажите пожалуйста как к приложению написанному на VS2008 проект создан как консольное приложение на С++ D>Необходимо прикрутить форму, указанный ниже код напрочь отказывается работать когда выбираю windows form аррlication D>может нада задать какие то опции при компиляции проекта???
D>Заранее благодарен за квалифицированный ответ.
...
1) Откуда взята SMTP.h ?
Гугль находит, в первую очередь, такой заголовочный файл в Qt.
Подозреваю, это не то, что ты используеш.
2) У тебя инициализируется MFC.
Возможно, стоит использовать MFC-е диалоги вместо WinForms.
ИМХО бардак полный. Вердикт — переделать с нуля.
1. _tmain подразумевает консольное приложение. MSDN по main() и WinMain().
2. Если уж инитите MFC, так его и используйте. MSDN по MFC tutorial.
Короче говоря, создайте базовые примерчики консольного и оконного Win32 приложений и sample app под MFC — все вопросы быстренько отпадут.
Вердикт: у вас не работает потому, что вы пишете под A, используете элементы B, а получить хотите то ли B, то ли С.
Да, и в догонку. Форматируйте пожалуйста код и используйте кнопочку "Предпросмотр", чтобы те, кто захочет Вам помочь, не ломали глаза, пытаясь понять, где какой блок.