PDA

View Full Version : پیدا نکردن مسیر گزارش



sara.pazhrang
چهارشنبه 10 مرداد 1386, 10:34 صبح
سلام مهندسین عزیز
من یک فرم گزارش گیری از بانک دارم . فایل اصلی اجرایی برنامه با پسوند 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\\CrystalReportInformation.rpt"; استفاده می کنم error میده که مسیر فایل rpt رو پیدا نمی کنه.
شما چه روشی رو برای استفاده از Application.startuppath که روش بهینه تری است و با کپی کردن برنامه لازم نیست مسیر رو عوض کنیم پیشنهاد می کنید؟
با تشکر

once4ever
چهارشنبه 10 مرداد 1386, 11:04 صبح
فیال اصلی اجرایی برنامه با پسوند سsln نیست
اون فایل لود شدن فایلهای پروژه اتن هست و ربطی به فایل اجرایی نداره
دوباره نگاه کن ببین مسیر فایل اجراییت کجاست
.
احتمالا باید اینجوری بنویسی:


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

sara.pazhrang
چهارشنبه 10 مرداد 1386, 11:31 صبح
string reppath =Application.StartupPath+"\\CrystalRe portInformation.rpt";
این رو نوشتم اما باز هم همان error رو میده.

once4ever
چهارشنبه 10 مرداد 1386, 11:52 صبح
باید این مسیرهارو چک کنی ببینی برنامه ات کجا اجرا میشه
قبل از این خطی که نوشتی یک messagebox باز کن :

messagebox.show(Application.StartupPath);
ببین چه مسیری نشون میده
هرچی نشون داد ببین با مسیری که فایلت هست چه فرقی میکنه و اضافه کن.

ghafoori
چهارشنبه 10 مرداد 1386, 14:29 عصر
دوست عزیز برنامه داخل پوشه debug یا release داخل پوشه بین اجرا می شود شما باید از پوشه بین خارج شوید تا کد کارکند این کد را امتحان کنید

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

sara.pazhrang
پنج شنبه 11 مرداد 1386, 09:09 صبح
باید این مسیرهارو چک کنی ببینی برنامه ات کجا اجرا میشه
قبل از این خطی که نوشتی یک messagebox باز کن :

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

sara.pazhrang
پنج شنبه 11 مرداد 1386, 09:13 صبح
دوست عزیز برنامه داخل پوشه debug یا release داخل پوشه بین اجرا می شود شما باید از پوشه بین خارج شوید تا کد کارکند این کد را امتحان کنید

string reppath = Application.StartupPath + "\\..\\..\\CrystalRe portInformation.rpt";
چطور از پوشه bin\debug خارج شم تا کدم درست کار کنه؟

string reppath = Application.StartupPath + "\\Source\\GUI\\CrystalReportInformation.rpt";

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

once4ever
پنج شنبه 11 مرداد 1386, 09:37 صبح
شما به یکم اطلاعات درمورد نحوه مسیردهی کامپیوتر احتیاج دارید.

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

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

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

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

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

sara.pazhrang
پنج شنبه 11 مرداد 1386, 11:17 صبح
حالا فهمیدم .منظورتون فایلهایی مثل عکس و فایلهای گزارشگیری کریستال ریپورت و بانک اطلاعاتی و مثل اینها که جزء .net نیستند یا همون جانبی هستند.
ممنون که روشنم کردین.من قبلا بانکمو تو شاخه بین کپی کرده بودم اما نمی دونستم چرا:خجالت::خجالت: