نمایش نتایج 1 تا 9 از 9

نام تاپیک: هندل کردن خطا در کار کردن با Indy

  1. #1

    هندل کردن خطا در کار کردن با Indy

    سلام به همه اساتید ، آقا این کد یه برنامه Client هستش . ببینیدMemory leak داره یا نه ؟ ( فرض کنید Server فعال یا موجود نیست و Exception رخ میده )

    Begin
    idTcpClient1 := TIdTcpClient.Create(nil);
    try
    idTcpClient1.Host := '127.0.0.1';
    idTcpClient1.Port := 1234;
    try
    idTcpClient1.Connect;
    except on E:Exception do
    begin
    Writeln(E.Message);
    Exit;
    end;
    end;
    try
    // send , receive data
    finally
    idTcpClient1.Disconnect;
    end;
    finally
    idTcpClient1.Free;
    end;
    end.

  2. #2
    چرا اینقدر try-finally پیچش کردی؟!

    begin
    idTcpClient1 := TIdTcpClient.Create(nil);
    try
    try
    idTcpClient1.Host := '127.0.0.1';
    idTcpClient1.Port := 1234;
    idTcpClient1.Connect;
    //Send/Recieve data
    except on E:Exception do
    Writeln(E.Message);
    end;
    finally
    idTcpClient1.Disconnect;
    idTcpClient1.Free;
    end;
    end;

  3. #3
    ممنون ، من کد ( چست و چابک ) شما ( و کد پیچیده خودم ) ! رو Trace که میکنم ، بعد از رخداد خطا خارج میشه و دستور Free اجرا نمیشه. مشکلی نداره؟

  4. #4
    دستور Free همیشه اجرا میشه.

  5. #5
    دستور Free وقتی اجرا می شود که خط
    idTcpClient1.Disconnect;
    دارای Exception نباشد. یعنی خطا ندهد.

  6. #6
    درسته دستور Free اجرا میشه. ( با یه دستور Writeln بعد از دستور Free فهمیدم ) ولی چرا موقع Trace به محض رخداد خطا خارج میشه و اینطور به نظر میاد دستورات بخش Finally اجرا نشدند؟ باید Debugger را تنظیم کرد؟

  7. #7
    چرا موقع Trace به محض رخداد خطا خارج میشه و اینطور به نظر میاد دستورات بخش Finally اجرا نشدند؟
    بعد از مشاهده خطا، پیغام را ببندید و دوباره F7 یا F8 را بزنید.

  8. #8
    همین کارو می کنم.

  9. #9
    یه BreakPoint روی خط idTcpClient1.Free بزارید.

تاپیک های مشابه

  1. برنامه نویسی شبکه ( راهنمای گام به گام Indy ) - بخش اول
    نوشته شده توسط www2006 در بخش مقالات مرتبط با Delphi/Win32
    پاسخ: 41
    آخرین پست: پنج شنبه 21 مرداد 1389, 02:09 صبح
  2. indy
    نوشته شده توسط aserfg در بخش مقالات مرتبط با Delphi/Win32
    پاسخ: 22
    آخرین پست: جمعه 17 خرداد 1387, 19:42 عصر
  3. مشکل در indy
    نوشته شده توسط neda azadi در بخش برنامه نویسی در Delphi
    پاسخ: 2
    آخرین پست: شنبه 04 فروردین 1386, 13:41 عصر
  4. از اساتید محترم خواهشمندم کمک نمائید - Indy و طراحی مسنجر
    نوشته شده توسط saniak_robot در بخش برنامه نویسی در Delphi
    پاسخ: 12
    آخرین پست: پنج شنبه 09 شهریور 1385, 13:38 عصر
  5. خطا در استفاده از Indy
    نوشته شده توسط MNosouhi در بخش برنامه نویسی در Delphi
    پاسخ: 0
    آخرین پست: سه شنبه 29 فروردین 1385, 11:52 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •