sayın m_demir,
eklediğiniz örnek uygulama içerisinde yer alan ve pencere gizlemek için kullandığınız Module1 adlı modülde 32 Bit / 64 Bit ayrımı olmaksızın yazılı olduğunu görünce,bu ayrımı yapmak ve kullanımı sağlatmak üzere ilgili kodları değiştirmiştim.
fakat eklediğiniz kodlar,benim değiştirdiğim kodlar değil.ilgili modülün kodları
Kod:
Option Explicit
#If VBA7 Then
Global Const SW_HIDE = 0
Global Const SW_SHOWNORMAL = 1
Global Const SW_SHOWMINIMIZED = 2
Global Const SW_SHOWMAXIMIZED = 3
Private Declare PtrSafe Function apiShowWindow Lib "user32" _
Alias "ShowWindow" (ByVal hwnd As Longstr, _
ByVal nCmdShow As LongPtr) As LongPtr
#Else
Global Const SW_HIDE = 0
Global Const SW_SHOWNORMAL = 1
Global Const SW_SHOWMINIMIZED = 2
Global Const SW_SHOWMAXIMIZED = 3
Private Declare Function apiShowWindow Lib "user32" _
Alias "ShowWindow" (ByVal hwnd As Long, _
ByVal nCmdShow As Long) As Long
#End If
Function fSetAccessWindow(nCmdShow As Long)
Dim loX As Long
Dim loForm As Form
On Error Resume Next
Set loForm = Screen.ActiveForm
If Err <> 0 Then
If nCmdShow = SW_HIDE Then
loX = apiShowWindow(hWndAccessApp, nCmdShow)
Err.Clear
End If
Else
loX = apiShowWindow(hWndAccessApp, nCmdShow)
End If
fSetAccessWindow = (loX <> 0)
End Function
bu şekildeydi.modülün bu şekilde değiştirilmesi neticesinde kullanımda bir sorun olmaz.
bahsedildiği gibi;bu yazım şekli sadece,hem 32 Bit hem de 64 Bit kullanımlarında uygulamanın rahat çalıştırılabilmesi içindir.
eğer "ilk hali ile kalsın ve o hali ile kullanmak istiyorum...",derseniz;yapmanız gereken,ilgili modülün içeriğini
Kod:
Option Explicit
Global Const SW_HIDE = 0
Global Const SW_SHOWNORMAL = 1
Global Const SW_SHOWMINIMIZED = 2
Global Const SW_SHOWMAXIMIZED = 3
Private Declare PtrSafe Function apiShowWindow Lib "user32" _
Alias "ShowWindow" (ByVal hwnd As Long, _
ByVal nCmdShow As Long) As Long
Function fSetAccessWindow(nCmdShow As Long)
Dim loX As Long
Dim loForm As Form
On Error Resume Next
Set loForm = Screen.ActiveForm
If Err <> 0 Then
If nCmdShow = SW_HIDE Then
loX = apiShowWindow(hWndAccessApp, nCmdShow)
Err.Clear
End If
Else
loX = apiShowWindow(hWndAccessApp, nCmdShow)
End If
fSetAccessWindow = (loX <> 0)
End Function
ile değiştiriniz.bilginize...iyi çalışmalar,saygılar.