Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Проблема с TClientSocket и компонентом. C++ Builder 5.0.

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
Shurick V
Гость





СообщениеДобавлено: Пт Дек 07 2001 23:10    Заголовок сообщения: Проблема с TClientSocket и компонентом. C++ Builder 5.0. Ответить с цитатой

Вопрос такой - стал переписывать TSakEmail с Дельфей (ну, надо мне оно - собственный POP3-клиент Smile в урезанном варианте под С++ Билдер, но такая штука получается:
если я пишу отдельное приложение, на форму кладу TClientSocket, ставлю ClientType=ctBlocking, Port=110, Host=192.168.0.2
//ну, прокси у меня там, через нее на POP3 хожу.
И потом по обработчику Button1Click происходит следующее:
char * buff=new char[1024];
int i=FSocket-Socket-ReceiveBuf(buff,1024);
delete buff;
....
Все в порядке.
Получаю нечто сродни
+OK Proxy ready.
Как только я пишу в процедуре компонента аналогичный код:
AnsiString __fastcall TPOP3Client::FReceiveTextFromSocket(void)
{
Application-ProcessMessages();
char * buff=new char[1024];
FPOPError=false;
int i=FSocket-Socket-ReceiveBuf(buff,1024);//Вот на этом месте вылетает ошибка.
AnsiString s=AnsiString(buff);
delete buff;
....
}
То получаю сообщение о AccessViolation. Read of address FFFFFFFF...
Что с этим делать? Как лечить?
ЗЫ. Конструктор выглядит так:
__fastcall TPOP3Client::TPOP3Client(TComponent* Owner)
: TComponent(Owner)
{
FConnected=false;
FPort=110;//POP3 port
if (!ComponentState.Contains(csDesigning))
{
FSocket=new TClientSocket(NULL);
FSocket-ClientType=ctBlocking;
FSocket-Port=FPort;
FSocket-OnLookup=FDoLookup;
FSocket-OnConnect=FDoConnect;
FSocket-OnConnecting=FDoConnecting;
FSocket-OnDisconnect=FDoDisconnect;
FSocket-OnError=FDoError;
};
}

FSocket объявлен в private-секции класса.
Вернуться к началу
Shurick V
Гость





СообщениеДобавлено: Вс Дек 09 2001 20:22    Заголовок сообщения: Re: Вопрос снят. После тела деструктора поставил ; (-) Ответить с цитатой

(-)
Вернуться к началу
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...