عاشق الرقي قام بنشر الجمعة at 11:00 قام بنشر الجمعة at 11:00 (معدل) سلام عليكم ورحمة الله تعالى وبركاته تظهر لي هذه الرسالة علماً بأن هذا البرنامج كان يعمل على إصدار 2000 والآن الاكسس المتوفر لدي اصدار 2016 مع العلم بأن حوالي 80% من دوال وطاقات هذا البرنامج أستعنت فيها بالله تعالى ثم بكم من خلال هذا المنتدى الرائع . جعله الله في موازين حسناتكم جميعاً شكراً وتقديراً ارجوا الحل ولكم جزيل الشكر والتقدير تم تعديل الجمعة at 11:11 بواسطه عاشق الرقي إضافة كلمات الشكر والتقدير
ابو عارف قام بنشر الجمعة at 14:25 قام بنشر الجمعة at 14:25 و عليكم السلام و رحمة الله و بركاته في اسطر حمراء غير: Private Declare Function الى: Private Declare PtrSafe Function بالتوفيق 1
ابو جودي قام بنشر الجمعة at 16:07 قام بنشر الجمعة at 16:07 مشاركة مع استاذى الجليل و معلمى القدير الاستاذ @ابو عارف وبعد إذن أستاذى هناك بعض الحالات التي قد تستوجب تعديلات إضافية لضمان التوافق بين الأنوية المختلفة (32 بت و 64 بت) وكذلك بين إصدارات الويندوز وأوفيس المختلفة عند التعامل مع دوال الـ API في VBA و يجب الانتباه لها: في النظام 32 بت، النوع Long يستخدم بشكل طبيعي لتخزين المؤشرات (pointers)، لكن في النظام 64 بت، يجب استخدام LongPtr بدلاً من Long لتخزين المؤشرات. المشكلة: إذا لم تستخدم LongPtr في النظام 64 بت، فقد تحدث أخطاء في الحسابات التي تتعلق بالحجم أو العناوين، لأن الـ Long لا يدعم العناوين الأكبر في الأنظمة 64 بت. ملاحظة: في الأنظمة 64 بت، LongPtr قادر على التعامل مع الأرقام التي تتجاوز سعة الـ Long العادية (التي تصل إلى 2,147,483,647). في الأنظمة 32 بت، LongPtr يتم تحديده تلقائيًا ليكون Long. التعامل مع السلاسل النصية (Strings) في بعض الأحيان، قد تحتاج إلى تعديل طريقة تعريف السلاسل النصية المستخدمة مع الـ API إذا كنت تستخدم سلاسل نصية مع الـ API، تأكد من إضافة ByVal و ByRef بشكل صحيح استخدم String * n بدلاً من String في بعض الحالات التي تتطلب أن تكون السلسلة ثابتة الطول التعامل مع الهياكل (Structures) في بعض الأحيان، تستخدم الهياكل (مثل Type في VBA) مع دوال الـ API. إذا كنت تستخدم هياكل كبيرة، فقد تحتاج إلى التأكد من أن الأنواع داخلها متوافقة مع النظام 64 بت تأكد من أن جميع الهياكل تتعامل بشكل صحيح مع الأنواع مثل LongPtr بدلاً من Long أو Integer عندما يتعلق الأمر بالمؤشرات لأنه قد يتغير حجم الحقول في الهيكل بين الأنوية 32 و 64 بت، مما يسبب أخطاء في التعامل مع الذاكرة أو المؤشرات التأكد من استخدام #If و #ElseIf بشكل مناسب عند التعامل مع دوال API في VBA وتحديد التوافق بين الأنظمة 32 بت و 64 بت، تأكد من استخدام #If, #ElseIf و #End If بشكل صحيح عند تخصيص الوظائف للأجهزة ذات الأنوية المختلفة. الشرح السابق يوضح الفرق فى التعامل مع النواتان و كتابة الكود بشكل صحيح ليصبح الكود متوافقا بين النواتان لانه لو قمت بالاستبدال لن يعمل على النواة 32 2
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.