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

نام تاپیک: پیدا نکردن مسیر گزارش

  1. #1

    پیدا نکردن مسیر گزارش

    سلام مهندسین عزیز
    من یک فرم گزارش گیری از بانک دارم . فایل اصلی اجرایی برنامه با پسوند sln در مسیر D:\\DRP-Tool-asli-startupPath\\DRPTool قرار داره.و فایل گزارشگیری در مسیر
    "D:\\DRP-Tool-asli-startupPath\\DRPTool\\Source\\GUI\\CrystalReportEq uipment.rpt";
    برای دادن مسیر گزارش به ReportDocument وقتی همین مسیر بالا را در String reppath می نویسم گزارش را در موقع اجرا نشون می ده .اما وقتی از دستور
    string reppath =Application.StartupPath+"\\Source\\GUI\\CrystalRe portInformation.rpt"; استفاده می کنم error میده که مسیر فایل rpt رو پیدا نمی کنه.
    شما چه روشی رو برای استفاده از Application.startuppath که روش بهینه تری است و با کپی کردن برنامه لازم نیست مسیر رو عوض کنیم پیشنهاد می کنید؟
    با تشکر

  2. #2
    فیال اصلی اجرایی برنامه با پسوند سsln نیست
    اون فایل لود شدن فایلهای پروژه اتن هست و ربطی به فایل اجرایی نداره
    دوباره نگاه کن ببین مسیر فایل اجراییت کجاست
    .
    احتمالا باید اینجوری بنویسی:

    string reppath =Application.StartupPath+"\\CrystalRe portInformation.rpt";

  3. #3

    string reppath =Application.StartupPath+"\\CrystalRe portInformation.rpt";

    این رو نوشتم اما باز هم همان error رو میده.

  4. #4
    باید این مسیرهارو چک کنی ببینی برنامه ات کجا اجرا میشه
    قبل از این خطی که نوشتی یک messagebox باز کن :
    messagebox.show(Application.StartupPath);

    ببین چه مسیری نشون میده
    هرچی نشون داد ببین با مسیری که فایلت هست چه فرقی میکنه و اضافه کن.

  5. #5
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111

    Smile

    دوست عزیز برنامه داخل پوشه debug یا release داخل پوشه بین اجرا می شود شما باید از پوشه بین خارج شوید تا کد کارکند این کد را امتحان کنید
    string reppath = Application.StartupPath + "\\..\\..\\CrystalRe portInformation.rpt";

  6. #6
    نقل قول نوشته شده توسط once4ever مشاهده تاپیک
    باید این مسیرهارو چک کنی ببینی برنامه ات کجا اجرا میشه
    قبل از این خطی که نوشتی یک messagebox باز کن :
    messagebox.show(Application.StartupPath);

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

  7. #7
    نقل قول نوشته شده توسط ghafoori مشاهده تاپیک
    دوست عزیز برنامه داخل پوشه debug یا release داخل پوشه بین اجرا می شود شما باید از پوشه بین خارج شوید تا کد کارکند این کد را امتحان کنید
    string reppath = Application.StartupPath + "\\..\\..\\CrystalRe portInformation.rpt";
    چطور از پوشه bin\debug خارج شم تا کدم درست کار کنه؟
    string reppath = Application.StartupPath + "\\Source\\GUI\\CrystalReportInformation.rpt"; 

    پس آیا این کد درسته؟؟؟و مشکل در دیباگ هست؟

  8. #8
    شما به یکم اطلاعات درمورد نحوه مسیردهی کامپیوتر احتیاج دارید.
    سلام.این کد رو امتحان کردم .درست می گفتید مسیر اجرای برنامه شاخه \bin\debug هست.اما آیا اینجا محل مناسبی برای اجرای برنامه هست؟اگر نیست چطور باید مسیر اجرا را عوض کنم چون هربار که از اینجا فایل اجرایی راپاک مینکم دوباره همینجا کپی می کند؟؟؟
    بله اینجا مسیر استاندارد ذخیره فایلهای اجرایی است.
    شما باید تمام فایلهای جانبی دیگه ای که تو برنامه از اونها استفاده میکنید داخل این مسیر کپی کنید.
    یک کپی از فایل CrystalReportInformation.rpt داخل این مسیر کپی کن (bin\debug) و از این کد استفاده کن
    string reppath =Application.StartupPath+"\\CrystalRe portInformation.rpt";

  9. #9
    من تمام فایلهای جانبی برنامه مثل فرمها رو داخل پوشه bin\debug کپی کردم و برنامه درست اجرا شد.در جای دیگر هم که کپی کردم نیاز به هیچ تغییری نبود.
    حالا یه سوال دارم:من این فایلها رو دستی تو بین کپی کردم.اما خاصیت Properties این فرمها Do Not Copy هست.آیا باید آنها را به صورت Copy always تبدیل کنم؟؟؟

  10. #10
    من تمام فایلهای جانبی برنامه مثل فرمها رو داخل پوشه bin\debug کپی کردم و برنامه درست اجرا شد.در جای دیگر هم که کپی کردم نیاز به هیچ تغییری نبود.
    حالا یه سوال دارم:من این فایلها رو دستی تو بین کپی کردم.اما خاصیت Properties این فرمها Do Not Copy هست.آیا باید آنها را به صورت Copy always تبدیل کنم؟؟؟
    کی گفته فرمها فایلهای جانبی برنامه هستند؟!!! پس فایلهای خود برنامه چی هست؟

    فایلهایی که از تو برنامه (برنامه یعنی اون فایل exe که در نهایت ساخته میشه و نه چیز دیگه ای) صدا میزنید
    مثل یه عکس که از یه مسیر تو کامپیوتر صدا میزنید

  11. #11
    حالا فهمیدم .منظورتون فایلهایی مثل عکس و فایلهای گزارشگیری کریستال ریپورت و بانک اطلاعاتی و مثل اینها که جزء .net نیستند یا همون جانبی هستند.
    ممنون که روشنم کردین.من قبلا بانکمو تو شاخه بین کپی کرده بودم اما نمی دونستم چرا

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

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