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

نام تاپیک: poco in qt

  1. #1

    poco in qt

    سلام خسته نباشید
    من یه مشکل داشتم اونم اینه که من از poco توی qtاستفاده کردم حالا برنامه ی من مربوط به ftpcleintsession هستش برنامم درست کار میکنه اما فرمم تا اتمام کار هنگ هستش چطوری مشکل را برطرف کنم.اینم کد:


    try{
    QStringIP="ip";
    intPort=21;
    Poco::Net::FTPClientSessionftp(IP.toStdString(),Po rt);
    ftp.login(uu.toStdString(),pp.toStdString());


    if(ftp.isLoggedIn()){
    ui->listWidget->addItem("Loginned");
    createtable(uu,pp);


    }
    ftp.close();


    }
    catch(Poco::Exception&ex)
    {
    std::cerr<<ex.displayText()<<endl;
    ui->listWidget->addItem("LoginFaild!");
    return-1;;


    }
    آخرین ویرایش به وسیله shahin-h : یک شنبه 07 دی 1393 در 16:04 عصر

  2. #2

    نقل قول: poco in qt

    از QThread یا std::thread استفاده کنید و عملیات زمانگیر رو داخل یک thread غیر از gui انجام بدید .

  3. #3

    نقل قول: poco in qt

    نه آقا امیداشتباه متوجه شدیددر کتابخانه پوکو وقتی که هر تابع تموم میشه آخرش به Exception ختم میشهحالا زمانه که در کیوت از آن استفاده می کنیم کار به درستی انجام میشه ولی تا وقتی که کار برنامه تمام نشه فرم مذکور هنگهحدس ما بر اینه که استفاده از Try catch هست که باعث این میشهاگر هم ازش استفاده نکنیم گیر میده چون این کتابخانه خودش از اکسپشت استفاده می کنهحالا راهی به نظر میرسه که این را حل کرد ؟ راهی هیست که از try catch استفاده نشه ؟یا اینکه اگر استفاده بشه کیون باعث نشه فرم هنگ کنه ؟برنامه بالا در خصوص یک تستر می باشه که یوزر و پسور های زیاده را بر روی FTP تست می کنه که ببینه کدام لاگین میشه

  4. #4

    نقل قول: poco in qt

    ببینید هر برنامه یک thread اصلی داره که وظیفش نمایش ui هست حالا وقتی که داخل این thread اصلی یک عملیات زمانگیر انجام میدید event loop برنامه که وظیفه دریافت event های سیستم عامل رو داره فرصت اجرا پیدا نمی کنه و برنامه هنگ می کنه . این جا قسمت زمان گیر تابع login هست ربطی به try catch و qt هم نداره .
    همون طوری که بالا گفتم راه همونه که یک thread دیگه بسازید که بصورت موازی کار کنه
    کل قسمت try catch رو داخل یک thread دیگه انجام بدید(البته قسمت هایی که ui آپدیت میشه رو پاک کنید) و زمان تمام شدن کار یک signal شامل رشته emit کنید ("logined"یا"failed" ) بعد توی mainwindow به یک slot سیگنال رو connect کنید و ui رو آپدیت کنید .
    البته بجای این کار میشه از thread خود poco هم استفاده کرد مثال دوم این جا رو ببینید http://pocoproject.org/docs/00100-GuidedTour.html
    آخرین ویرایش به وسیله omid_kma : دوشنبه 08 دی 1393 در 19:56 عصر

  5. #5

    نقل قول: poco in qt

    نقل قول نوشته شده توسط omid_kma مشاهده تاپیک
    ببینید هر برنامه یک thread اصلی داره که وظیفش نمایش ui هست حالا وقتی که داخل این thread اصلی یک عملیات زمانگیر انجام میدید event loop برنامه که وظیفه دریافت event های سیستم عامل رو داره فرصت اجرا پیدا نمی کنه و برنامه هنگ می کنه . این جا قسمت زمان گیر تابع login هست ربطی به try catch و qt هم نداره .
    همون طوری که بالا گفتم راه همونه که یک thread دیگه بسازید که بصورت موازی کار کنه
    کل قسمت try catch رو داخل یک thread دیگه انجام بدید(البته قسمت هایی که ui آپدیت میشه رو پاک کنید) و زمان تمام شدن کار یک signal شامل رشته emit کنید ("logined"یا"failed" ) بعد توی mainwindow به یک slot سیگنال رو connect کنید و ui رو آپدیت کنید .
    البته بجای این کار میشه از thread خود poco هم استفاده کرد مثال دوم این جا رو ببینید http://pocoproject.org/docs/00100-GuidedTour.html
    ممنون آقا امید
    از توضیحاتی که دادین سپاسگزارم
    من از لحاظ تئوری متوجه شدم تقریبا ولی نمیدونم چطور تو برنامه نویسیش پیاده سازی کنم

    ممنون میشم که با نمونه کد بیشتر توضیح بدین چون با Thread زیاد کار نکردم

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

  1. منظور از POCO در EntityFramwork چیست؟
    نوشته شده توسط rahimi.mohamad24 در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: شنبه 29 آذر 1393, 11:07 صبح
  2. نحوه ی نوشتن کلاس های poco
    نوشته شده توسط Arezooparsafar86 در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 2
    آخرین پست: پنج شنبه 26 اردیبهشت 1392, 01:52 صبح
  3. نمونه برنامه کوچک به روش Code First یا همان POCO
    نوشته شده توسط setare.sh در بخش C#‎‎
    پاسخ: 0
    آخرین پست: سه شنبه 28 آذر 1391, 10:54 صبح
  4. poco -selftracking-t4
    نوشته شده توسط omid195 در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 3
    آخرین پست: چهارشنبه 05 بهمن 1390, 14:48 عصر

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

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