آخرين پست هاي ارسالي انجمن ايران دلفي

تماشای رایگان فیلم ایرانی ، خارجی و کودک آکادمی دلفی
نمایش نتایج: از 1 به 8 از 8

موضوع: تست ارتباط و قطع ارتباط شبکه

  1. #1
    کاربر سایت farzaneh23 آواتار ها
    تاریخ عضویت
    May 2014
    سن
    10
    نوشته ها
    4
    تشکر ها
    0
    تشکر شده 3 بار در 2 ارسال.

    تست ارتباط و قطع ارتباط شبکه

    با سلام و خسته نباشید
    برنامه من اطلاعات خود را از mysql در یافت می کند. در صورتیکه شبکه سازمان قطع شود کاربر متوجه این امر نشده و بر روی دکمه ها که یک query را فراخوانی می کند مدام کلیک نموده و برنامه هنگ می کند.چطور می توان برنامه را در صورتی که ارتباط قطع شده است کنترل کرد؟ آیا از طریق کنترل Ado connection اینکه false است یا True باید انجام داد؟

  2. #2
    مدیرکل سایت admin آواتار ها
    تاریخ عضویت
    September 2008
    محل سکونت
    تهران ، آیسک
    سن
    39
    نوشته ها
    522
    تشکر ها
    247
    تشکر شده 250 بار در 160 ارسال.
    Blog Entries
    1
    سلام.
    میشه کد اون دکمه ای که کوئری رو فراخوانی میکنه رو اینجا بزارید ؟
    میخوام ببینم اصول کد نویسی رو رعایت کردید ...
    دلفی ،*جذاب ترین زبان طراحی نرم افزار ...

  3. #3
    کاربر سایت farzaneh23 آواتار ها
    تاریخ عضویت
    May 2014
    سن
    10
    نوشته ها
    4
    تشکر ها
    0
    تشکر شده 3 بار در 2 ارسال.
    procedure Tmeeting_client.BitBtn2Click(Sender: TObject);
    begin
    DataModule_client.meeting_all_query.SQL.Clear;
    DataModule_client.meeting_all_query.SQL.Add(" select * from meeting where (pid="+Quotedstr(login_client.pid_box.text)+& quotORDER BY mdate DESC"
    DataModule_client.meeting_all_query.Open;
    all_meeting_F.Show;
    end;

  4. 2 کاربر مقابل از farzaneh23 عزیز به خاطر این پست مفید تشکر کرده اند .

    beny (09 / March / 2015),noyasystem (06 / July / 2017)

  5. #4
    مدیرکل سایت admin آواتار ها
    تاریخ عضویت
    September 2008
    محل سکونت
    تهران ، آیسک
    سن
    39
    نوشته ها
    522
    تشکر ها
    247
    تشکر شده 250 بار در 160 ارسال.
    Blog Entries
    1
    یقینا شما برای ارتباط اتون از ابزاری استفاده می کنید.
    بعنوان مثال در شبکه اگر از Indy استفاده کنید.
    به صورت زیر ارور اتون رو هندل کنید :


    کد:

    کد:
    try
    
    with IdTCPClient1 do
    begin
    if Connected then
    Disconnect;
    Host := trim(آدرس Ip هاست اتون);
    Port := 80;
    Connect;
    
    try
    
    ShowMessage(IOHandler.LocalName); // این لاین فقط جهت تست برنامه است
    finally
    Disconnect;
    end;
    
    end;
    except
    ShowMessage("خطایی در ارتباط اتون رخ داده است");
    end;



    البته میتونید دقیقا مشخص کنید که اگه کد ارور 10061 بود فلان ارور رو بده ...

    شما از ado برای ارتباط با دیتابیس استفاده می کنید یا از unidac ؟؟؟
    از چه ابزاری ؟
    مثلا در ado و SQLServer ما به صورت زیر با خطاها رفتار می کنیم.
    اولا : جدول خطاها رو میتونید با کد زیر ببینید :



    کد:

    کد:
    use master
    go
    
    select * from sysmessages
    go




    حالا کافیه کد خطاهایی رو که بیشتر اتفاق میفته رو پیدا کرده و معادل فارسی اونها رو در بیارید :
    مثلا :



    کد:

    کد:
    error...... severity .......dlevel ....description ....................................................msglangid
    156 .......15 .............. 0 .......Incorrect syntax near the keyword "%.*ls". .........1033



    در مرحله ی بعد با هر روشی که دوست دارید کدها رو با کد خطایی که اتفاق افتاده مطابق زیر مقایسه می کنید و خطای مناسب رو به نمایش می گذارید :





    کد:

    کد:
    var
    LastErrorIndex :double;
    begin
    try
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add("select * from dataBase");
    ADOQuery1.Open;
    except
    // Log Exception..
    on E: Exception do
    begin
    
    
    LastErrorIndex:=ADOConnection1.Errors.Count-1 ;
    
    ShowMessage(VarToStr(ADOConnection1.Errors.Item[LastErrorIndex].Source ));
    ShowMessage(VarToStr(ADOConnection1.Errors.Item[LastErrorIndex].Description ));
    ShowMessage(VarToStr(ADOConnection1.Errors.Item[LastErrorIndex].NativeError ));
    
    if ( ADOConnection1.Errors.Item[LastErrorIndex].NativeError = 156 ) then
    begin
    ShowMessage("ارور شماره 156 در دیتابیس رخ داده است");
    end;
    
    
    end;
    end;



    موفق و موید باشید
    دلفی ،*جذاب ترین زبان طراحی نرم افزار ...

  6. 2 کاربر مقابل از admin عزیز به خاطر این پست مفید تشکر کرده اند .

    beny (09 / March / 2015),b_e_shamlu (12 / February / 2015)

  7. #5
    کاربر سایت farzaneh23 آواتار ها
    تاریخ عضویت
    May 2014
    سن
    10
    نوشته ها
    4
    تشکر ها
    0
    تشکر شده 3 بار در 2 ارسال.
    خیلی ممنون
    یه سوال اینکه آیا این خطاهایی که دلفی میده رو میشه فارسی اش کرد.مثلا وقتی شبکه قطع میشه و ارتباط سوکت قطع میشه این پیغام به کاربر نمایش داده میشه

    Can’t connect to mysql server on 192.168.10.12(10061)
    Socket error on connect.WSAGetLastErrror returen 10065($2751)

  8. کاربر مقابل از farzaneh23 عزیز به خاطر این پست مفید تشکر کرده است:

    beny (09 / March / 2015)

  9. #6
    مدیرکل سایت admin آواتار ها
    تاریخ عضویت
    September 2008
    محل سکونت
    تهران ، آیسک
    سن
    39
    نوشته ها
    522
    تشکر ها
    247
    تشکر شده 250 بار در 160 ارسال.
    Blog Entries
    1
    از try , except استفاده کنید :

    کد:

    کد:
    try
       ADOQuery1.SQL.Clear;
       ADOQuery1.SQL.Add("select * from dataBase");
       ADOQuery1.Open;
      except
        // Log Exception..
        on E: Exception do
        begin
       ShowMessage(" Exception Message : "+ E.Message );
        end;
      end;



    دلفی ،*جذاب ترین زبان طراحی نرم افزار ...

  10. 2 کاربر مقابل از admin عزیز به خاطر این پست مفید تشکر کرده اند .

    beny (09 / March / 2015),b_e_shamlu (12 / February / 2015)

  11. #7
    کاربر سایت mhsama آواتار ها
    تاریخ عضویت
    February 2015
    نوشته ها
    1
    تشکر ها
    0
    تشکر شده 1 بار در 1 ارسال .

    پاسخ : تست ارتباط و قطع ارتباط شبکه

    اگر کامپیوتری که برنامه من روی آن نصب است به طریقی از شبکه قطع شود، برنامه ام کانکشن فیلور میدهد و خودش ارتباط را مجدداً بازسازی نمی کند و کاربر مجبور است با تسک منیجر ویندوز از برنامه خارج شده مجدداً وارد برنامه شود. چگونه می توانم از داخل برنامه به محض قطع شدن مجدداً ارتباط را که با ado زده ام را بازسازی کنم که نیازی به خروج از برنامه نباشد؟

  12. کاربر مقابل از mhsama عزیز به خاطر این پست مفید تشکر کرده است:

    beny (09 / March / 2015)

  13. #8
    مدیر سایت irandelphi آواتار ها
    تاریخ عضویت
    May 2013
    محل سکونت
    آیسک ، فردوس
    سن
    33
    نوشته ها
    3
    تشکر ها
    0
    تشکر شده 3 بار در 1 ارسال.

    پاسخ : تست ارتباط و قطع ارتباط شبکه

    سلام.
    راه حل اصلی استفاده از try ,except است که در بالا بهش اشاره شده و شما میتونید در قسمت except پیام مورد نظر رو بنویسید و برنامه رو به فرم ترمیم ارجاع دهید و در آن فرم ارتباط را چک کرده و پس از برقراری ارتباط به فرم Main باز گردید...
    در کل بسته به سلیقه ی طراح نرم افزار و درخواست مشتری میشه تغییرات لازم رو اعمال کرد.

  14. 3 کاربر مقابل از irandelphi عزیز به خاطر این پست مفید تشکر کرده اند .

    admin (02 / February / 2015),beny (09 / March / 2015),b_e_shamlu (12 / February / 2015)

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

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