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

نام تاپیک: مشکل عدم نمایش صفحات ریپورت با ریپورت لیستنر

  1. #1

    مشکل عدم نمایش صفحات ریپورت با ریپورت لیستنر

    صفحات ریپورتی طراحی کرده ام که به صورت نرمال با استفاده از دستور REPORT و با پارامتر PRIVIEW نمایش داده می شود (ولی خوب مشکل کلی ویژوال فاکس را دارد ) (عدم نمایش درست فونت های فارسی)
    جهت تصحیح این مشکل از کلاس ریپورت لیستنر استفاده کرده ام وقتی فرم را در داخل محیط ویژوال فاکس اجرا می کنم مشکلی ندارد ولی وقتی از برنامه خروجی (EXE) می گیریم و برنامه EXE را اجرا می کنم پیش نمایش ریپورت را نمایش نمی دهد (البته شمارش رندر صفحات را نمایش می دهد ولی وقتی به انتها رسیده و می خواهد صفحه را نمایش دهد خارج می شود (البته نه از برنامه بلکه بخش پیش نمایش چاپ)
    جهت اطمینان از ایجاد شیء از نوع ریپورت لیستنر نوع آن را چک کرده که از نوع آبجکت باشد مشکلی نداشت و موارد تست دیگر را نیز انجام دادم ولی متاسفانه به جواب نرسیدم

     
    oListener = CREATEOBJECT("ReportListener")
    IF TYPE('oListener') <> 'O'
    OK= MESSAGEBOX('سیستم قادر به ایجاد آبجکت از نوع ریپورت لیستنر نیست',0+16,'اخطار')
    RETURN
    ENDIF
    oListener.ListenerType = 1
    REPORT FORM BOOK_A4 OBJECT oListener
    *

    البته در پروجکت مربوط به برنامه اجرایی کلاس _REPORTLISTNER اضافه شده است

    ممنون میشم که نسبت به رفع این اشکال بنده را راهنمایی نمایید

  2. #2
    مدیر بخش آواتار binyaz2003
    تاریخ عضویت
    آبان 1382
    محل زندگی
    کرمان
    سن
    39
    پست
    2,107
    سلام
    آیا جدول یا کرسر شما رکوردی داره یا نه؟
    آیا بدون لیسنر جواب میده؟
    وب سایت شخصی
    وبلاگ آموزش ویژوال فاکس پرو - به دلیل تعطیل شدن میهن بلاگ نوشته های وبلاگ به وب سایت شخصی منتقل شدند.

  3. #3
    بله جدول دارای رکورد هست
    حتی اگر همان ریپورت را بدون قابلیت ریپورت لیستنر می خوانم نمایش می دهد.
    جالب تر اینکه وقتی در محیط داخلی فاکس آن را اجرا می کنم (با ریپورت لیستنر) نمایش می دهد ولی پس از exe سازی نمایش نمی دهد (حتی عملیات رندر (wait window) را نمایش می دهد ولی پس از پایان رندر به صفحه فرم باز می گردد)
    به احتمال زیاد اشکال از نوع exe و یا نبودن یک فایل در پروجکت هست (البته کلاس مربوطه _reportlistner داخل پروجکت موجود است) exe برنامه با نسخه 9 هست
    ممنون میشم اگر نمونه مشابه ای (فایل پروجکتی کوچکی که امکان فراخوانی یک ریپورت که برای نمایش از ریپورت لیستنر استفاده کرده را داشته باشد) دارید (و حالت اجرایی آن نیز درست کار می کند) برایم بفرستید

  4. #4
    کاربر دائمی آواتار شاگرد آرام
    تاریخ عضویت
    شهریور 1384
    محل زندگی
    کرمان
    پست
    122
    سلام outputtype رو باید مشخص کنید توی راهنمای برنامه هست

  5. #5
    outputtype را تنظیم کردم (مشابه مثال موجود در خود راهنمایش)

    _REPORTOUTPUT ="ReportOutput.app"

    که البته خود فایل موردنظر را نیز در کنار برنامه قرار دادم
    ولی باز مشکل وجود دارد (ولی چگونه است که در محیط داخلی خود فاکس (اجرای فورم در فاکس) نیازی به این تنظیم نیست و برنامه بدون مشکل (با استفاده از ریپورت لیستنر) اجرا می شود ولی پس از exe سازی با این مشکل مواجه می شود)
    اگر شما یک نمونه موفق اجرایی (فایل exe که از این قابلیت استفاده کرده و در پیش نمایش مشکل ندارد) دارید ممنون میشم برام ارسال کنید.


    آخرین ویرایش به وسیله پدرخوانده : یک شنبه 23 بهمن 1384 در 12:17 عصر

  6. #6
    شما باید تنظیم مربوط به محل نمایش پرویو در ریپورت لیستنر را مشخص کنید
    در سورس کد نمونه ایی که توسط خود فاکس ارائه شده (مثل بخش سولیشن) از متغیر _ReportPreview بصورت دستور (روتین) استفاده کرده که به هنگام اجرا در محیط داخلی فاکس بدون مشکل است ولی به هنگام استفاده در فایل اجرایی مشکل ایجاد می کند (که در خیلی مواقع باعث سردرگمی برنامه نویس می شود) مثل:
    do (_ReportPreview) with loPreview

    در این متغیر loPreview یک متغیر بولین بوده (یا خالی) و یا متغیری تعریف شده بصورت لوکال
    برای رفع این مشکل باید خودتان این متغیر را با توجه به کلاس frxPreview ایجاد کنید بصورت کد زیر:
        loPreview = newobject("frxPreviewProxy","frxPreview.vcx")

    و سپس متغیر فوق را به عنوان پارامتر PreviewContainer (محل نمایش خروجی پیش نمایش) از آبجکت ریپورت لیستنر معرفی کنید. به سورس زیر که متناسب با نمونه سورس اولیه خودتان تنظیم شده دقت نمایید:
        loPreview = newobject("frxPreviewProxy","frxPreview.vcx")
    oListener = CREATEOBJECT("ReportListener")
    oListener.OutputType = 1
    oListener.PreviewContainer = loPreview
    oListener.ListenerType = 1
    report form book_a4.frx object oListener

  7. #7
    سوالی داشتم اینکه در حالت preview گزارش باز در نشان دادن حروف فارسی مشکلاتی به وجود می آید مثل اینکه کلمات کشیده شده و در جای خودشان قرار نمی گیرد متشکرم میشود اگر کسی بتواند جواب من را بدهد

    سوالی داشتم اینکه در حالت preview گزارش باز در نشان دادن حروف فارسی مشکلاتی به وجود می آید مثل اینکه کلمات کشیده شده و در جای خودشان قرار نمی گیرد متشکرم میشود اگر کسی بتواند جواب من را بدهد
    آخرین ویرایش به وسیله bahryvfp : دوشنبه 19 تیر 1385 در 12:24 عصر دلیل: این پست به دلیل تکراری بودن بطور خودکار ادغام شده است.

  8. #8
    کاربر دائمی آواتار mehran_337
    تاریخ عضویت
    مهر 1384
    محل زندگی
    رشت
    پست
    1,305
    یا مثلا اینکه اگه از قلم B ویندوز ایکس پی استفاده می شه حروف انگلیسی رو نشون نمی ده. اینو شماها چیکار می کنید؟

  9. #9
    یرای درست شدن فونت از دستور SET REPORTBEHAVIOR 90 استفاده کنید و تنها از فونتهای خود ویندوز استفاده کنید(این دستور تنها با لیستنر کار میکند و برای حالت عادی کارائی ندارد) با استفاده از این دستور gdi+ به رندر بهتر محیط گرافیک کمک میکنه
    فونتهایی که دوستان از ویندوز 98 پارسا به انتقال میدهند معمولا با مشکل مواجه میشه
    در تندیس های تخت جمشید هیچ کس در حال تعظیم نیست ، هیچ کس عصبانی نیست ، هیچ کس سرافکنده و شکست خورده نیست ، هیچ کس سوار بر اسب نیست ، هیچ قومی بر قوم دیگر برتر نیست ، هیچ کس برده نیست و هیچ تصویر خشنی دیده نمیشود.
    ************************************************** ******************************************
    اندیشه کن , آنگاه سخن گو تا از لغزش بر کنار باشی

  10. #10
    فکر کنم مشکل پدرخوانده را هم من چندروز پیش داشتم
    یعنی report در حالت عادی مشکلی نداشت اما وقتی exe می شد نمایش داده نمی شد
    اما ایراد کار من این بود شاید پدرخوانده هم همین مشکل را داشته باشد
    من dll فاکس را ازورژن اولیه فاکس 9 برداشته بودم وهروقت exe می کردم ازهمین dll استفاده می کردم درحالیکه وقتی ازسورس استفاده می شد ازdll جدید استفاده می شد ومشکلی نداشت با حذف dll قدیم این مشکل حل شد شاید شما هم؟؟؟؟

  11. #11
    کاربر دائمی آواتار mehran_337
    تاریخ عضویت
    مهر 1384
    محل زندگی
    رشت
    پست
    1,305
    سلام
    1 - در ریپورت از 2 ستونی استفاده کردم اما موقع پیش نمایش fatal error میده و خارج می شه . بنظر شما مشکل از سرویس پکه؟ چون هنوز نصبش نکردم
    2 - برای درست کردن یک برگه مثلا برگه مرخصی که فقط یک صفحه هست و هیچ detail هم نداره فقط باید header ریپورتمو رو بزرگ کنم و اونو تو هدر ریپورت قرار بدم.؟
    3 - برای صفحه چاپ کاغذ b4 می خوام اما تو page setup همه چیز هست بجز b4 چیکار باید بکنم؟
    4- وقتی گزارش چند ستونی درست می کنم کل صفحه از چپ به راست نمایش داده می شود. مثلا ستون سمت چپ اول ردیف ها را می زند بعد ستون سمت راست. راه حلی داره؟
    آخرین ویرایش به وسیله mehran_337 : شنبه 14 مرداد 1385 در 11:06 صبح

  12. #12
    کاربر دائمی آواتار mehran_337
    تاریخ عضویت
    مهر 1384
    محل زندگی
    رشت
    پست
    1,305
    مشکل اول حل شد با نصب sp1
    اما موارد بعدی واقعا حیاتیه مثل سایز b4 و مهمتر از اون راست به چپ شدن کاغذ.
    Help me

  13. #13
    در قسمت setting وارد بخش پرینتر میشی.پرینتر رو های لایت میکنی یعنی انتخاب میکنی.از منوی فایل گزینه server properties را انتخاب میکنی و چک باکس مربوط به create a new form را تیک میزنی و یک ابعاد برای کاغذت تعریف میکنی و به یک نام ذخیره اش میکنی.
    حالا ریپورت را باز میکنی و از منوی فایل گزینه page setup را انتخاب میکنی . در تب page layoutبازهم page setup را انتخاب میکنی و در قسمت size باید نامی که برای سایز خود در نظر گرفته ای را انتخاب کنی و ............... بقیه اش رو هم که استادی
    قسمت دوم سوالت رو هم اصلا نفهمیدم
    در تندیس های تخت جمشید هیچ کس در حال تعظیم نیست ، هیچ کس عصبانی نیست ، هیچ کس سرافکنده و شکست خورده نیست ، هیچ کس سوار بر اسب نیست ، هیچ قومی بر قوم دیگر برتر نیست ، هیچ کس برده نیست و هیچ تصویر خشنی دیده نمیشود.
    ************************************************** ******************************************
    اندیشه کن , آنگاه سخن گو تا از لغزش بر کنار باشی

  14. #14
    کاربر دائمی آواتار mehran_337
    تاریخ عضویت
    مهر 1384
    محل زندگی
    رشت
    پست
    1,305
    معرکه بود . دستت درد نکنه
    من چند روز نبودم . اما واقعا از سایت داشتم نا امید می شدم چون دوباره باز نمی شد . بگذریم
    ممنونم اقا رضا. بخش دوم سوالم را دوباره مطرح می کنم:
    پیش فرض صفحه ریپورت از چپ به راسته مثلا در بخش detail من دو ستون تعریف می کنم:
    page setup\number column =2
    (مثل وورد که چند ستون در یک صفحه تایپ م کنیم اصطلاحا روزنامه ای)

    اما به جای اینکه ستون اول از راست شروع بشه از چپ نمایش داده می شه بنا براین ردیف هم از سمت چپ می زنه بعد که به پایین رسید می ره به ستون راست.
    البته من برای این مشکل کلک رشتی زدم با یه زیربرنامه ، رکوردهای جدول را جابجا می کنم که البته کار جالبی نیست فقط مشکلمو حل کرده.

  15. #15
    خوب این خودش یه هنره
    در تندیس های تخت جمشید هیچ کس در حال تعظیم نیست ، هیچ کس عصبانی نیست ، هیچ کس سرافکنده و شکست خورده نیست ، هیچ کس سوار بر اسب نیست ، هیچ قومی بر قوم دیگر برتر نیست ، هیچ کس برده نیست و هیچ تصویر خشنی دیده نمیشود.
    ************************************************** ******************************************
    اندیشه کن , آنگاه سخن گو تا از لغزش بر کنار باشی

  16. #16
    کاربر دائمی آواتار mehran_337
    تاریخ عضویت
    مهر 1384
    محل زندگی
    رشت
    پست
    1,305
    ممنونم . راستی آقا رضا راهی نداره؟؟

  17. #17
    تا حالا امتحان نکردم
    البته اگر برنامه رو برام بفرستی بهتر میتونم نظر بدم(فقط همون قسمتی که مشکل داره و برای اجرا ناقص نباشه)
    در تندیس های تخت جمشید هیچ کس در حال تعظیم نیست ، هیچ کس عصبانی نیست ، هیچ کس سرافکنده و شکست خورده نیست ، هیچ کس سوار بر اسب نیست ، هیچ قومی بر قوم دیگر برتر نیست ، هیچ کس برده نیست و هیچ تصویر خشنی دیده نمیشود.
    ************************************************** ******************************************
    اندیشه کن , آنگاه سخن گو تا از لغزش بر کنار باشی

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

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