bahsettiğiniz talebinize yönelik olarak;aşağıdaki açıklamanın yapılması uygun görülmüştür.
32 bit / 64 bit sorunlarına dair fonksiyon kullanımlarında herhangi bir çakışma veya benzeri hataların olmaması için,
PTRSAFE ifadesinin,fonksiyonların declare edilmesi işlemlerinde yazılması gerekmektedir.
kodlarınızı aşağıdaki kodlar ile değiştiriniz.
Kod:
#If VBA7 Then
Public Declare PtrSafe Function CreateRectRgn Lib "gdi32" (ByVal X1 As Long, _
ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Public Declare PtrSafe Function CreateRoundRectRgn Lib "gdi32" (ByVal X1 As Long, _
ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, _
ByVal Y3 As Long) As Long
Public Declare PtrSafe Function CombineRgn Lib "gdi32" (ByVal hDestRgn As Long, _
ByVal hSrcRgn1 As Long, ByVal hSrcRgn2 As Long, _
ByVal nCombineMode As Long) As Long
Public Declare PtrSafe Function SetWindowRgn Lib "user32" (ByVal hwnd As Long, _
ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
#Else
Public Declare Function CreateRectRgn Lib "gdi32" (ByVal X1 As Long, _
ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Public Declare Function CreateRoundRectRgn Lib "gdi32" (ByVal X1 As Long, _
ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, _
ByVal Y3 As Long) As Long
Public Declare Function CombineRgn Lib "gdi32" (ByVal hDestRgn As Long, _
ByVal hSrcRgn1 As Long, ByVal hSrcRgn2 As Long, _
ByVal nCombineMode As Long) As Long
Public Declare Function SetWindowRgn Lib "user32" (ByVal hwnd As Long, _
ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
#End If
Public Const RGN_AND = 1
Public Const RGN_COPY = 5
Public Const RGN_DIFF = 4
Public Const RGN_OR = 2
Public Const RGN_XOR = 3
Public Function degistir()
Dim rgn1 As Long, rgn2 As Long
rgn1 = CreateRectRgn(0, 0, 1, 1)
CombineRgn rgn1, rgn1, rgn2, RGN_OR
SetWindowRgn Application.hWndAccessApp, rgn1, True
End Function
Public Function degistir2()
Dim rgn1 As Long, rgn2 As Long
rgn1 = CreateRectRgn(0, 0, 1500, 1500)
CombineRgn rgn1, rgn1, rgn2, RGN_OR
SetWindowRgn Application.hWndAccessApp, rgn1, True
End Function
site arama sayfasında,"ptrsafe",(çift tırnaklar içerisinde olmak üzere) "32 bit","64 bit" ya da "#If VBA7 Then" ifadesini yazmak sureti ile çeşitli konularda yer alan bilgileri ve örnekleri inceleyiniz.
bilginize...iyi çalışmalar,saygılar.