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

نام تاپیک: مشکل با ADO در دلفي 2007

  1. #1
    کاربر دائمی آواتار rezamahdizadeh
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    تهران
    پست
    345

    مشکل با ADO در دلفي 2007

    دلفي 2007 مخصوصا با كامپوننتهاي تعريف شده توسط برنامه نويس چقدر مشگل ساز است به عنوان نمونه خطاهايي مي دهد كه در دلفي 7 نمي داد. بعضي از اين خطاها را بصورت تصوير ضميمه كرده ام آيا راهي براي رفع اين خطاها وجود دارد؟
    عکس های ضمیمه عکس های ضمیمه

  2. #2

    نقل قول: خطاهاي دلفي 2007

    علتش رو خودش داره توی پیغام خطا میگه:
    بسته ایی تحت عنوان RM روی دلفی 2007 خودتون نصب کردید که در آن از یونیتی با نام ADODB استفاده شده، از طرفی کامپوننت های ADO در دلفی از یونیتی با همین نام استفاده می کنند، چون بسته RM زودتر از بسته adortl10 که بسته زمان اجرای ADO هست، بارگزاری میشه، ADO نمیتونه از یونیتی با همون نام ADODB استفاده کنه، از طرفی، کامپوننت های ADO مثل AdoTable, AdoQuery و... در همین یونیت تعریف شدند، اگر این یونیت لود نشه، امکان لود شدن اون کامپوننت ها هم نیست.

    راه حل:
    1- از لیست Package های نصب شده دلفی Package مربوط به RM را uninstall کنید، تا این بسته با بسته ADO تداخل پیدا نکنه.
    2- یونیت ADODB استفاده شده در اون Package را تغییر نام بدید، تا ADO بتونه به شکل عادی از یونیت خودش استفاده کنه.

    در هر حال، این مشکل از دلفی نیست، مشکل از کامپوننت هایی هست که نصب کردید.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  3. #3
    کاربر دائمی آواتار rezamahdizadeh
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    تهران
    پست
    345

    نقل قول: خطاهاي دلفي 2007

    آقاي كشاورز من در آن كامپوننتها مجبورم كه در قسمت uses آن unit از ADODB استفاده كنم چون متغيرهايي در روالهاي آن استفاده شده چه عنوان آرگومان چه به صورت متغيرهاي محلي و ... كه از نوع TADOQuery و ... بوده اند و در صورت درج نشدن نام ADODB در قسمت uses خطاهاي كامپايلري به خاطر نشناخته بودن پيش مي آيد. چرا در دلفي 7 اين مشكلات پيش نيامد با وجودي كه همين كامپوننتهاي خودم بدون هيچ تغييري در دلفي 7 نصب كرده بودم در مورد تغيير نام اگر امكان دارد بيشتر توضيح دهيد.
    آخرین ویرایش به وسیله rezamahdizadeh : چهارشنبه 13 شهریور 1387 در 18:16 عصر

  4. #4

    نقل قول: خطاهاي دلفي 2007

    دقت کنید در پست قبلی چی گفتم. من گفتم شما هر جا ADODB در uses دارید، آن را حذف کنید؟!
    گفتم بسته ایی با نام RM روی دلفی شما نصب هست که یونیتی با نام ADODB داره، یعنی یونیت بسته RM با یونیت ADO هم نام شده. نمی تونید دو یونیت متفاوت با نام های یکسان داشته باشید، پس باید یکی از این بسته ها را uninstall کنید. ADO را که نمیخواید Uninstall کنید، پس باید RM را به نحوی که در کد بالا گفتم، Uninstallکنید. اگر به بسته RM هم نیاز دارید، باید نام یونیت آن را تغییر بدید.

    چرا در دلفي 7 اين مشكلات پيش نيامد با وجودي كه همين كامپوننتها بود
    توی دلفی بسته استانداردی بنام RM وجود نداره. شما این بسته را نصب کردید. مشکلی هم که الان براتون پیش اومده بخاطر این بسته هست. نویسنده اون بسته باید می دونسته که یونیت ADODB در بسته ADO دلفی که یک بسته استاندارد هست، استفاده میشه، و نباید از نام آن در بسته خودش استفاده میکرده.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  5. #5
    کاربر دائمی آواتار rezamahdizadeh
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    تهران
    پست
    345

    نقل قول: خطاهاي دلفي 2007

    بسته ایی با نام RM روی دلفی شما نصب هست که یونیتی با نام ADODB داره، یعنی یونیت بسته RM با یونیت ADO هم نام شده
    در بسته RM يونيتي بنام ADODB وجود ندارد ـ به اين نام ايجاد نكرده ام

  6. #6

    نقل قول: خطاهاي دلفي 2007

    در بسته RM يونيتي بنام ADODB وجود ندارد ـ به اين نام ايجاد نكرده ام
    لازم نیست مستقیما وجود داشته باشه، اگر Implicitly هم از یونیتی با این نام استفاده کرده باشه، با ADO مشکل پیدا میکنه. شما فعلا RM را uninstall کنید.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  7. #7
    کاربر دائمی آواتار rezamahdizadeh
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    تهران
    پست
    345

    نقل قول: خطاهاي دلفي 2007

    آقاي كشاورز فايلهايي با پسوند DCP كه اين كامپوننت از كلاسهاي آنها مشتق شده بود را به بسته اضافه كردم مشگل رفع شد

  8. #8

    نقل قول: مشکل با ADO در دلفي 2007

    سلام
    آقای کشاورز چرا پست من را پاک کرده اید؟
    **لطفا اول سوال را با دقت بخوانید بعد پست را پاک کنید**
    مشکل من در دلفی 2007 و ADO می باشد.
    *این کار شما بی انصافیست !*
    *اگر جواب را نمی دانید چرا پست را پاک می کنید*
    متشکرم

  9. #9

    نقل قول: مشکل با ADO در دلفي 2007

    آقای کشاورز چرا پست من را پاک کرده اید؟
    **لطفا اول سوال را با دقت بخوانید بعد پست را پاک کنید**
    مشکل من در دلفی 2007 و ADO می باشد.
    *این کار شما بی انصافیست !*
    *اگر جواب را نمی دانید چرا پست را پاک می کنید*
    پست اول تاپیک را بخوانید، سوال شما اصلا شباهتی به اون سوال داره؟!!
    در تاپیک جداگانه ایی بپرسید.
    متشکرم
    خواهش می کنم


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  10. #10
    کاربر دائمی آواتار rezamahdizadeh
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    تهران
    پست
    345

    نقل قول: خطاهاي دلفي 2007

    نقل قول نوشته شده توسط علی کشاورز مشاهده تاپیک
    لازم نیست مستقیما وجود داشته باشه، اگر Implicitly هم از یونیتی با این نام استفاده کرده باشه، با ADO مشکل پیدا میکنه. شما فعلا RM را uninstall کنید.
    بله بصورت ضمني import شده اند اما با uninstall كردن RM مشگل حل نمي شود چون در اكثر فرمها از كامپووننتهاي موجود در RM استفاده كرده ام.

  11. #11

    نقل قول: مشکل با ADO در دلفي 2007

    اما با uninstall كردن RM مشگل حل نمي شود چون در اكثر فرمها از كامپووننتهاي موجود در RM استفاده كرده ام.
    اسم اون یونیتی که RM استفاده کرده را Rename کنید تا با یونیت مورد استفاده ADO تداخل نداشته باشه.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  12. #12

    نقل قول: مشکل با ADO در دلفي 2007

    با توجه به کدی که نوشتید و برای من ارسال کردید، دو مسئله وجود داره:
    1- شما دارید از یونیتی متفاوت ولی با نام مشابه استفاده نمی کنید، بلکه دارید دقیقا از یونیت مربوط به ADO استفاده می کنید، یعنی باید نام یونیت مورد نظر را از لیست یونیت های Package خودتون حذف کنید، بجاش اسم Package مربوط به ADO را به لیست Requires از Package خودتون اضافه کنید.

    2- یک کامپوننت گرید نباید به روش اتصال خاصی (مثل ADO, BDE, DBExpress و...) وابسته باشه، پس کلا استفاده شما از یونیت های ADO در اون کامپوننت (مثل یونیت ADODB) توجیه خاصی نمیتونه داشته باشه.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  13. #13
    کاربر دائمی آواتار rezamahdizadeh
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    تهران
    پست
    345

    نقل قول: مشکل با ADO در دلفي 2007

    اگر نام يونيت ADODB را در قسمت uses ذكر نكنيم كامپايلر به كدهايي مانند Self.DataSource.DataSet is TCustomADODataSet خطا مي گيرد. زيرا مي گويد متغير TCustomADODataSet تعريف نشده است. اگر بخواهيم Package مربوط به ADODB را به قسمت Requires اضافه كنيم نمي دانم اسم و فايل اين Package چيست و در ضمن پسوند Package ها در دلفي dkp يا dpkw است در حاليكه CodeGear 2007 فقط فايلهايي با پسوند dcp را مي پذيرد.

  14. #14

    نقل قول: مشکل با ADO در دلفي 2007

    اگر بخواهيم Package مربوط به ADODB را به قسمت Requires اضافه كنيم نمي دانم اسم و فايل اين Package چيست و در ضمن پسوند Package ها در دلفي dkp يا dpkw است در حاليكه CodeGear 2007 فقط فايلهايي با پسوند dcp را مي پذيرد.
    اسمش را توی همون پیغام خطا باید نشون بده، غیر از اون، در پنجره Install Packages هم می تونید اسمش را پیدا کنید.
    اگر نام يونيت ADODB را در قسمت uses ذكر نكنيم كامپايلر به كدهايي مانند Self.DataSource.DataSet is TCustomADODataSet خطا مي گيرد. زيرا مي گويد متغير TCustomADODataSet تعريف نشده است.
    چون در کدنویسی کامپوننت Gridایی که ساختید اشتباه کردید! یک کامپوننت Grid باید فقط TDataset را بشناسه، نه فرزنداش مثل TCustomAdoDataset. نتیجه همچین کدی این میشه که اگر هم کامپوننت نصب بشه، فقط با DataSourceهایی کار خواهد کرد که Datasetشان از TCustomAdoDataset مشتق شده!


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

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

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