اذهب الي المحتوي
أوفيسنا

مشكلة عند إخفاء شاشة الأكسس


الردود الموصى بها

الزملاء الاعزاء

قمت بعمل برنامج بالاكسس و قمت بإخفاء شاشة الاكسس من خلال البرمجية التالية

Public Declare Function ShowWindow Lib "user32.dll" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

Public Sub HideAccess()
Call ShowWindow(Access.hWndAccessApp, 0)
End Sub

Public Sub ShowAccess()
Call ShowWindow(Access.hWndAccessApp, 5)
End Sub

و عند تشغيل البرنامج على جهاز به ويندوز 64 بت يعطى رسالة خطأ فى السطر

Public Declare Function ShowWindow Lib "user32.dll" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

علماً بان البرنامج مصمم لتوزيعة على الطلاب و يتغير نواه الويندوز على حسب جهاز كل طالب

ماذا أفعل

مع وافر الشكر للزملاء الأفاضل

رابط هذا التعليق
شارك

32 دقائق مضت, الفارس المصرى said:

عند لصق الكود الجديد تظهر رساله خطأ

excepted : sub or function

تقبل تحياتى و إحترامي

ممكن سؤال وتأكد لى رجاء

هل الاوفيس 64 بيت ام الويندوز  64 بيت

للعلم لو ان الاوفيس 32 بيت والويندوز 64 بيت لن تحدث اى مشاكل وانت ذكرت فى مشاركتك 

في 9/21/2017 at 05:49, الفارس المصرى said:

و عند تشغيل البرنامج على جهاز به ويندوز 64 بت يعطى رسالة خطأ فى السطر

علماً بان البرنامج مصمم لتوزيعة على الطلاب و يتغير نواه الويندوز على حسب جهاز كل طالب

ماذا أفعل

 

رابط هذا التعليق
شارك

منذ ساعه, الفارس المصرى said:

عند لصق الكود الجديد تظهر رساله خطأ

excepted : sub or function

تقبل تحياتى و إحترامي

 

عفوا ، لم انتبه ان الكود عندك Public فانا وضعته Private:blink:

 

استخدم هذا الكود ، بعد ان تم تعديله بإستخدام Public بدلا عن private

Public Declare PtrSafe Function apiShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long 

 

جعفر

  • Like 2
رابط هذا التعليق
شارك

الزملاء الافاضل

قمت بلصق الكود الجديد ليعطى نفس رساله الخطأ عند كلمة Ptrsafe

علماً بان المشكلة بأن البرنامج يتم توزيعة على الطلاب من خلال موقع المدرسة و بالتالى فلا يمكن التحكم فى نوع الاوفس او الويندوز المستخدم لكل طالب

تقبل الجميع شكرى و إمتنانى

رابط هذا التعليق
شارك

منذ ساعه, الفارس المصرى said:

الزملاء الافاضل

قمت بلصق الكود الجديد ليعطى نفس رساله الخطأ عند كلمة Ptrsafe

علماً بان المشكلة بأن البرنامج يتم توزيعة على الطلاب من خلال موقع المدرسة و بالتالى فلا يمكن التحكم فى نوع الاوفس او الويندوز المستخدم لكل طالب

تقبل الجميع شكرى و إمتنانى

شركات البرمجة الكبيره نفسها تضع المتطلبات لعمل البرنامج :wink2:

- على سبيل المثال 

لاتقل الرامات عن 2 جيجا

1 جيجا كارت شاشة

نظام تشغيل لا يقل عن ويندوز 7

  • Like 1
رابط هذا التعليق
شارك

لوسمحت تجرب هذا بدلا عن السطر الذي فيه مشكلة ، على الكمبيوترات اللي عليها الاكسس 32بت و 64بت:

#If VBA7 Then
    Private Declare PtrSafe Function apiShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
#ElseIf Win64 Then 'need datatype LongPtr
    Private Declare PtrSafe Function apiShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd As LongPtr, ByVal nCmdShow As LongPtr) As LongPtr
#Else '32-bit Office
    Private Declare Function apiShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
#End If

او

#If VBA7 Then
    Public Declare PtrSafe Function apiShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
#ElseIf Win64 Then 'need datatype LongPtr
    Public Declare PtrSafe Function apiShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd As LongPtr, ByVal nCmdShow As LongPtr) As LongPtr
#Else '32-bit Office
    Public Declare Function apiShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
#End If

او

Public Declare PtrSafe Function SetWindowPos Lib "user32.dll" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, _
ByVal X As Long, ByVal Y As Long, ByVal cX As Long, ByVal cY As Long, ByVal wFlags As Long) As Long

او

Public Declare PtrSafe Function ShowWindow Lib "user32" ( _
   ByVal hWnd As LongPtr, _
   ByVal nCmdShow As Long _
) As BooleanPrivate Declare PtrSafe Function ShowWindow Lib "user32" ( _
   ByVal hWnd As LongPtr, _
   ByVal nCmdShow As Long _
) As Boolean

.

 

9 ساعات مضت, sandanet said:

جرب حذف كلمة PtrSafe من الكود فقط

أخي أوس ، لأن نسخة الاكسس عند الفارس المصري 64بت ، لهذا السبب يجب ان نستخدم هذا الامر:smile:

 

جعفر

  • Like 1
رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information