Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

Eureka ловит ошибку при закрытии прораммы с TidTelnet.   Найти похожие ветки 

 
AV ©   (2012-04-27 09:46) [0]

procedure TfrmNGN_APPL.btnCOnnectClick(Sender: TObject);
begin
 IdTelnet1.Host := sHost;
 IdTelnet1.Port := sPort;
 IdTelnet1.Connect(3000);
 if IdTelnet1.Connected then
   IdTelnet1.WriteLn(sCmd);
end;

procedure TfrmNGN_APPL.IdTelnet1DataAvailable(Sender: TIdTelnet;  const Buffer: String);
begin
 Memo1.Lines.Add(Buffer);
end;

procedure TfrmNGN_APPL.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
//  Sleep(100);  // ошибка, по мнению Eureka. И нет ошибки, если ее модули отключить.
 CanClose := True;
end;

Ошибка (AV) фиксируется такая
 2.5 Type          : EIdClosedSocket
 2.6 Message       : Disconnected.

; IdIOHandlerSocket.TIdIOHandlerSocket.Recv (Line=0 - Offset=0)
; -------------------------------------------------------------
004B34BC  call    IdSocketHandle.TIdSocketHandle.Recv
004B34C1  mov     ebx, eax
004B34C3  jmp     IdIOHandlerSocket.TIdIOHandlerSocket.Recv
004B34C5  lea     edx, [ebp-$04]
004B34C8  mov     eax, dword ptr [$4C019C]
004B34CD  call    System.LoadResString
004B34D2  mov     ecx, [ebp-$04]
004B34D5  mov     dl, $01
004B34D7  mov     eax, dword ptr [EIdClosedSocket]
004B34DC  call    SysUtils.Exception.Create
004B34E1  call    System._RaiseExcept                        ; <-- EXCEPTION
   

Call Stack Information:
---------------------------------------------------------------------------------------
|Address |Module      |Unit           |Class       |Procedure/Method            |Line |
---------------------------------------------------------------------------------------
|*Exception Thread: ID=2404; Priority=0; Class=TIdTelnetReadThread                    |
|-------------------------------------------------------------------------------------|
|004B34E1|NGN_APPL.exe|               |            |                            |     |
|7C9010E0|ntdll.dll   |               |            |RtlLeaveCriticalSection     |     |
|-------------------------------------------------------------------------------------|
|Calling Thread: ID=1496; Priority=0; Class=; [Main]                                  |
|-------------------------------------------------------------------------------------|
|004B714F|NGN_APPL.exe|uMainApplic.pas|TfrmNGN_APPL|btnCOnnectClick             |50[3]|
|7E36BFFB|user32.dll  |               |            |NotifyWinEvent              |     |
|7E36BFF3|user32.dll  |               |            |NotifyWinEvent              |     |
|7C90ECBA|ntdll.dll   |               |            |RtlMultiByteToUnicodeN      |     |
|7C90EB94|ntdll.dll   |               |            |RtlAnsiStringToUnicodeString|     |
|7C90D328|ntdll.dll   |               |            |ZwFindAtom                  |     |
|7E36F642|user32.dll  |               |            |CallWindowProcA             |     |
|7C9010E0|ntdll.dll   |               |            |RtlLeaveCriticalSection     |     |
|7E36B8FE|user32.dll  |               |            |SendMessageW                |     |
|7E36B8BA|user32.dll  |               |            |SendMessageW                |     |
|7E36F658|user32.dll  |               |            |CallWindowProcA             |     |
|7E36F642|user32.dll  |               |            |CallWindowProcA             |     |
|7E36F891|user32.dll  |               |            |CallNextHookEx              |     |
|7E3694DA|user32.dll  |               |            |GetCapture                  |     |
|7E3696C2|user32.dll  |               |            |DispatchMessageA            |     |
|7E3696B8|user32.dll  |               |            |DispatchMessageA            |     |
|004B75DB|NGN_APPL.exe|NGN_APPL.dpr   |            |                            |15[3]|
|7C90DCB8|ntdll.dll   |               |            |ZwSetInformationThread      |     |
|-------------------------------------------------------------------------------------|
|                                                                                     |
|Running Thread: ID=1496; Priority=0; Class=; [Main]                                  |
|-------------------------------------------------------------------------------------|
|7C90DF58|ntdll.dll   |               |            |ZwWaitForSingleObject       |     |
|7C90DF4E|ntdll.dll   |               |            |ZwWaitForSingleObject       |     |
|7C918B1E|ntdll.dll   |               |            |RtlpWaitForCriticalSection  |     |
|7C918A97|ntdll.dll   |               |            |RtlpWaitForCriticalSection  |     |
|7C901000|ntdll.dll   |               |            |RtlEnterCriticalSection     |     |
|004B75E0|NGN_APPL.exe|NGN_APPL.dpr   |            |                            |16[4]|
|7C90DCB8|ntdll.dll   |               |            |ZwSetInformationThread      |     |
---------------------------------------------------------------------------------------


 
AV ©   (2012-04-27 09:51) [1]

еще проще вызвать, написав

procedure TfrmNGN_APPL.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
 IdTelnet1.Disconnect;

да, а если написать
procedure TfrmNGN_APPL.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
 Sleep( XX );
то не всегда ловится ошибка Эврикой.

Indy 9


 
Германн ©   (2012-04-27 14:41) [2]

А обратиться в техподдержку Эврики что мешает?


 
Rouse_ ©   (2012-04-27 15:40) [3]

А при чем тут еврика?
тебе-же адрес ошибки показан (004B34E1  call    System._RaiseExcept), вот и становись на него бряком.
Если бряк сработал, значит реально было поднято исключение, тут и думай кто зачем и почему.


 
turbouser ©   (2012-04-27 15:46) [4]

И так все ясно - EIdClosedSocket


 
Rouse_ ©   (2012-04-27 15:52) [5]

Ясно то оно ясно, только не ясно зачем его поднимают :) Вот это и есть первоначальная задача для топикстартера.



Страницы: 1 вся ветка

Текущий архив: 2013.03.22;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.118 c
15-1337421742
>|<
2012-05-19 14:02
2013.03.22
Parrot AR.Drone


15-1329689916
Дмитрий С
2012-02-20 02:18
2013.03.22
Браузер на базе линукса.


2-1330408314
AV
2012-02-28 09:51
2013.03.22
Владение критической секцией


15-1349167256
AV
2012-10-02 12:40
2013.03.22
Теоретически можно брать байты из файла и выполнять как код?


2-1330269660
Незнающий усталости
2012-02-26 19:21
2013.03.22
Как задать фокус ячейки?