PDA

View Full Version : سوال: عمل نکردن کنترل های ListView و TreeView در ویندوز 7



atf1379
پنج شنبه 07 فروردین 1399, 19:38 عصر
سلام
من در برنامه ام از دو کنترل TreeView و ListView استفاده می کنم . قبلاً در ویندوز ایکس پی این کنترل ها درست عمل می کردن وبا کلیک بر روی آنها نتیجه مورد نظر حاصل میشد ولی الآن که ویندوز را به سون ارتقا داده ام این کنترل ها دیگر عمل نمی کنند . البته آفیس را به 2013 هم ارتقاء داده ام . برای اینکه معلوم شود که ایراد از آفیس 2013 نیست یکبار این آفیس را کاملاً از روی سیستم حذف و همان آفیس قبلی یعنی 2010 نصب کردم که با این آفیس هم مشکل حل نشد و متوجه شدم که ظاهراً این کنترل ها در ویندوز سون عمل نمی کنن .
ضمناً تصویر ضمیمه از قسمت رفرنس ها برنامه میباشد .
ممنون میشم دوستان راهنمائی کنن

mazoolagh
پنج شنبه 14 فروردین 1399, 13:46 عصر
این کنترل ها چون activex هستن فقط در آفیس 32 بیتی کار میکنن و ارتباطی به ویندوز هم نداره - شما ویندوز ده 64 بیتی هم داشته باشین و آفیس 2016، باز هم باید کار کنه.
ورژن آفیس رو مطمئن هستین 32 بیتی هست (x86) ؟

بجای اینکه رفرنس رو چک کنین، ببینین که این کنترل ها رو در لیست اکتیو ایکس ها هستن یا نه؟

atf1379
جمعه 15 فروردین 1399, 21:05 عصر
این کنترل ها چون activex هستن فقط در آفیس 32 بیتی کار میکنن و ارتباطی به ویندوز هم نداره - شما ویندوز ده 64 بیتی هم داشته باشین و آفیس 2016، باز هم باید کار کنه.
ورژن آفیس رو مطمئن هستین 32 بیتی هست (x86) ؟

بجای اینکه رفرنس رو چک کنین، ببینین که این کنترل ها رو در لیست اکتیو ایکس ها هستن یا نه؟
سلام جناب استاد mazoolagh (https://barnamenevis.org/member.php?9893-mazoolagh)
بله ورژن آفیس 2013 32 بیتی هست .
منتها مشکل بگونه ای برطرف کردم . فکر کنم چند وقت پیش هم چنین مشکلی برایم پیدا شد که آن موقع اقدام به رجیستر کردن اکتیو ایکس MSCOMCTL.OCX را درکنار برنامه بر روی دستکتاپ کردم . ایندفعه هم اینکار رو انجام دادم و مشکل برطرف شد
.منتها مشکلی که همچنان ذهن بنده را مشغول کرده این هست که همین نسخه از اکتیو ایکس در پوشه system32 خود ویندوز هست و من از قسمت رفرنس وقتی آن کنترل را از پوشه ویندوز تیک می زنم باز در زمان اجرا می بینم که در قسمت پائین رفرنس آدرس اکتیوایکس دسکتاب درج میشود در صورتیکه من این اکتیو ایکس بر روی دسکتاپ رو آنرجیستر و پاک کردم و اصلاً اثری از این اکتیوایکس بر روی دستکتاپ نیست .
احساس می کنم اگر برنامه را روی یک کامپیوتر دیگر اجرا کنم باز هم به مشکل فوق بر بخورم مگر اینکه دوباره اقدام به رجیستر کردن این اکتیو ایکس بر روی دستکتاپ بکنم.

mazoolagh
شنبه 16 فروردین 1399, 10:59 صبح
سلام
من هیچوقت با این موقعیت که اشاره کردین برخورد نداشتم و همیشه روی سیستم ها با هر ویندوزی این اکتیوایکس نصب و رجیستر بوده.
مطمئن نیستم ولی فکر کنم پکیج vb6 همرمان با ویندوز تصب میشه فقط در ویندوز 64 بیت در پوشه wow قرار میگیره.
اگر ویندوزتون 64 بیت هست اونجا رو هم چک کنین.

یک مورد رو هم تست کنین:
یک دیتابییس جدید بسازین و در یک فرم یک Treeview یا listview اضافه کنین.
اکسس خودکار رفرنس رو اضافه میکنه، حالا رفرنس ها رو چک کنین و ببینین آدرسش کجاست.
اگر این فرم درست کار کرد معنیش اینه که همه چیز مرتبه و لازم نیست دستی رجیستر کنین.
حالا پروژه خودتون رو باز کنین و همینکار رو هم اونجا بدین تا رفرنس درست اضافه بشه.

شرمنده ام که نمیتونم راهنمایی قطعی کنم.

atf1379
یک شنبه 17 فروردین 1399, 01:26 صبح
سلام جنابmazoolagh (https://barnamenevis.org/member.php?9893-mazoolagh)
قبلاً از شما سپاسگزارم بابت راهنمائهای عالیتون



اگر ویندوزتون 64 بیت هست اونجا رو هم چک کنین.


ویندوز 32 بیتی هست




یک مورد رو هم تست کنین:
یک دیتابییس جدید بسازین و در یک فرم یک Treeview یا listview اضافه کنین.
اکسس خودکار رفرنس رو اضافه میکنه، حالا رفرنس ها رو چک کنین و ببینین آدرسش کجاست.
اگر این فرم درست کار کرد معنیش اینه که همه چیز مرتبه و لازم نیست دستی رجیستر کنین.
حالا پروژه خودتون رو باز کنین و همینکار رو هم اونجا بدین تا رفرنس درست اضافه بشه.


موردی که فرمودی انجام دادم و در هنگام اجرا خطای نیاز به آبجکت صادر شد و در قسمت رفرنس این کنترل اضافه نشده بود که بطور دستی از آن را از پوشه system32 اضافه کردم و بازهم متوجه شدم که آدرس دسکتاپ ویندوز درج شده .




شرمنده ام که نمیتونم راهنمایی قطعی کنم.
خدا نکنه . ما شرمنده ایم که اینقدر مزاحم شما هستیم

بازهم ممنون

mazoolagh
یک شنبه 17 فروردین 1399, 09:46 صبح
بذارین یک بار دیگه ماجرا رو مرور کنیم:
1- شما ویندوز 7 رو clean install میکنین
2- Office رو هم نصب میکنین
3- دیتابیس جدید میسازین (دیتابیس قدیم رو باز نمیکنین)
4- وقتی treeview/listview به فرم اضافه میکنین با پیغام object required روبرو میشین

اگر سناریو دقیقا همینه و اون وسط هیچ کار دیگه ای (شامل رجیستر کردن mscomctl.ocx هم هست) انجام نمیشه، احتمال میدم ویندوز مشکلی داشته باشه.

اگر ویندوز 7 رو بخاطر قدیمی و ضعیف بودن سیستم انتخاب کردین، بهتره از windows 8.1 pro استفاده کنین و گرنه که windows 10 بهترین انتخاب هست.

اینبار قبل از نصب office ، وضعیت رجیستر بودن mscomctl رو هم چک کنین.

شما که این همه وقت گذاشتین، این رو هم چک کنین تا به یک پاسخ قطعی برسین.

atf1379
یک شنبه 17 فروردین 1399, 18:16 عصر
بذارین یک بار دیگه ماجرا رو مرور کنیم:
1- شما ویندوز 7 رو clean install میکنین
2- Office رو هم نصب میکنین
3- دیتابیس جدید میسازین (دیتابیس قدیم رو باز نمیکنین)
4- وقتی treeview/listview به فرم اضافه میکنین با پیغام object required روبرو میشین

اگر سناریو دقیقا همینه و اون وسط هیچ کار دیگه ای (شامل رجیستر کردن mscomctl.ocx هم هست) انجام نمیشه، احتمال میدم ویندوز مشکلی داشته باشه.

اگر ویندوز 7 رو بخاطر قدیمی و ضعیف بودن سیستم انتخاب کردین، بهتره از windows 8.1 pro استفاده کنین و گرنه که windows 10 بهترین انتخاب هست.

اینبار قبل از نصب office ، وضعیت رجیستر بودن mscomctl رو هم چک کنین.

شما که این همه وقت گذاشتین، این رو هم چک کنین تا به یک پاسخ قطعی برسین.

با سلام و تشکراز پیگیریتون جنابmazoolagh (https://barnamenevis.org/member.php?9893-mazoolagh)

پیرو توضیحات پست های قبل و طبق دستور جنابعالی در مرحله اول اقدام به ساخت یک دیتابیس جدید و اضافه کردن کنترل listview نمودم که عیناً و بدون بازکردن دیتابیس دیگر آن را در ضمیمه آپلود کردم
ضمناً از نحوه ساخت دیتابیس و اضافه کردن کنترل فوق فیلمی تهیه کردم که در صورت تمایل از این لینک (http://s11.picofile.com/file/8393182142/CreateListview.rar.html) دانلود فرمائید.
در ضمن اخطاری که دیروز به آن اشاره کردم ( پیغام object required ) دلیل دیگری داشت .
موفق باشید

atf1379
یک شنبه 17 فروردین 1399, 19:30 عصر
با سلام مجدد جناب mazoolagh (https://barnamenevis.org/member.php?9893-mazoolagh)

من الآن آفیس 2016 را نصب کردم وخوشبختانه مشکل برطرف شد و آدرس کنترل در قسمت رفرنس همان آدرس پوشه system 32 می باشد.
ممنون از پیگیری و راهنمائی های عالیتون

mazoolagh
دوشنبه 18 فروردین 1399, 10:04 صبح
خوشحالم که مشکل برطرف شده،
اینکه دقیق مسئله رو باز کردین و مشروح توضیح دادین کار پسندیده ای هست که دیگران هم بهتره اون رو در نظر بگیرن چون میتونه راهگشای کسان دیگری باشه که مشکل مشابه دارن.