واضح آرشیو وب فارسی:سایت ریسک: romixery31-01-2008, 09:34 AMسلام بر دوستان عزيزم به مشكلي برخوردم كه نمي دونم از كجاست. من يه DLL به متن زير نوشتم: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! حالا اين DLL رو در برنامه خودم به صورت ديناميكي لود كردم. و خوب هم جواب ميده. يعني لود ميشه و هر SQL ي كه بهش ارسال ميشه رو توي Query برنامه اعمال مي كنه. مشكل اينكه كه وقتي از برنامه خارج ميشم اول يه ارور ويندوزي (همون پنجره اي كه Send و Don`t send داره) ميده و بعد هم ارورر Accses validation (دسترسي به حافظه) ميده. هر كاري كردم درست نشد. توي فرمم يه كليد ساختم و توي اون اين دستورات رو نوشتم: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! اشكال از كجاست؟ بايد بگم به صورت External و غير ديناميكي هم لود كردم و باز هم همونجوري هستش. ممنون ميشم كمكم كنيد. باي F A R H A D31-01-2008, 02:03 PMسلام فايل dll رو به پوشه windows/system32 كپي كن و به صورت زير لود كن: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! NoneForce31-01-2008, 02:42 PMسلام مشكلي ربطي به نحوه و محل لود كردن dll . مشكل در پاس دادن SQLدستور است، Select * From Datas را از برنامه اصلي منتقل كنيد به داخل dll ديگه اين خطا را نميگيريد. WideString را به String تبديل كنيد. بجاي Query.Active:=true از Query.ExecSQL استفاده كنيد. romixery31-01-2008, 05:45 PMسلام خيلي ممنون از فرهاد جان و نانفورس جان عزيزم. Widestring رو به String تبديل كردم. درست شد. ولي نميفهمم، چرا به خاطر Widestring ارور ميده. يعني دلفي متغيري از اين نوع رو نمي تونه بين برنامه و DLL ردو بدل كنه؟!!! به هر حال از كمكتون خيلي ممنونم. موفق باشين باي romixery08-02-2008, 08:12 PMسلام دوباره من يه DLL ديگه نوشتم و به همون مشكلي كه در پست اول ذكر كرده بودم دچار شده. متن DLL: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! كاري كه اين DLL مي كنه معلومه. بر اساس گزينه اي كه از ComboBox دريافت مي كنه جستجو مي كنه. DLL كار مي كنه. وقتي از برنامه خارج مي شم ارورر Invalid Pointer operation ميده. تو مورد قبلي گفتم كه Widestring رو به String تبديل كردم درست شد. ولي اينجا... موفق باشين باي romixery08-02-2008, 09:04 PMسلام راستش توي اينترنت جستجو كردم و مقاله اي از آقاي زيراك معروف از Delphi.about خوندم. 5 راه گفته بودن. يكي از راهها و البته راحتترين اونها اين بود كه يونيت Sharemem رو به DLL و Application اضافه كنم. همچنين فايل BORLNDMM.DLL رو هم به كنار برنامم بريزم. اين كار رو كردم و درست شد. ولي حالا وقتي برنامه رو مي بندم ارور Run Time ميده كه اصلا اگه از DLL استفاده هم نكنم بازم هم ميده. يعني حتي اگه فرم رو باز كنم و ببندم. به نظر شما اشكال از چيه؟ واقعيتش رو بخواين توي اينترنت كه جستجو كردم هزار نفر به اين مشكل بر خورده بودن و البته 100 جور جواب هم براش داده بودن. والا من ديگه گيج شدم. Mahmood_N08-02-2008, 09:08 PMمنظور از ارور RunTime چيه ؟ Error با كد نشون ميده يا متن هست يا ... ؟ بيشتر توضيح بده شايد تونستم كمكت كنم ... ... romixery09-02-2008, 09:46 AMارورر به شكل زيره: http://aycu07.webshots.com/image/43766/2004831872551357461_rs.jpg اگه بتونين كمكم كنيد ممنون ميشم. romixery09-02-2008, 10:53 AMسلام جوينده، يابنده است.:27: راه حل درستش رو پيدا كردم. يونيتي به نام FastSharemem رو از اينترنت دانلود كردم. فقط كافيه كه اين يونيت رو به DLL و برنامه اصليتون اضافه كنيد تا مشكل حل بشه. توصيه مي كنم دوستان هم دانلود كنن. بد نيست. لينك دريافت (4Kb) !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! موفق باشين باي NoneForce09-02-2008, 01:41 PMسلام جوينده، يابنده است.:27: راه حل درستش رو پيدا كردم. يونيتي به نام FastSharemem رو از اينترنت دانلود كردم. فقط كافيه كه اين يونيت رو به DLL و برنامه اصليتون اضافه كنيد تا مشكل حل بشه. توصيه مي كنم دوستان هم دانلود كنن. بد نيست. لينك دريافت (4Kb) !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! موفق باشين باي سلام تبريك ميگم، كم كم داريد برنامه نويس ميشيد. سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 638]