Skip to main content

AccessTr.neT


64 bit sorunu

64 bit sorunu

Çözüldü #1
kendi pc mde yaptığım proje 64 bit  sistemli pc de açmadı.
aşağıdaki modülü hata  olarak gösterdi

Option Compare Database


Option Explicit

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
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
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
Son Düzenleme: 23/02/2016, 11:44, Düzenleyen: fkilic76.
Cevapla
#2
sayın fkilic76,

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

son olarak;
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.
Herkes, kendisinin AR-GE'cisidir...


Konulara eklenen Uygulama içeriğine yönelik Tavsiyeler
Alt Form Denetim Değerlerine ulaşma ve Alt Form Güncelleme
Kapatırken Düzenle (Compact On Close) Seçeneğinin İşaretlenmesi Hakkında
Cevapla
#3
(23/02/2016, 14:21)atoz112 yazdı: sayın fkilic76,

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

son olarak;
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.

Öncelikle İlginize teşekkürler.
vermiş olduğunuz kodları eskisiyle değiştirdim.bende  çalıştı ama diğer(64bit)pc de yine  çalışmadı. ilgili pc deki ofis" lisans-ürün anahtarı girin"gibi uyarı veriyor onunla alakalı olabilir mi. sorun kodda değilse.
Cevapla
#4
sayın fkilic76,

Alıntı:...pc deki ofis" lisans-ürün anahtarı girin"gibi uyarı veriyor...

ifadenize yönelik olarak;
ilgili ofis sürümünüzün geçici olması durumu söz konusu.

tam kurulum sağlayabilecek şekilde olan sürümünü tedarik etmelisiniz.

bilginize...iyi çalışmalar,saygılar.
Herkes, kendisinin AR-GE'cisidir...


Konulara eklenen Uygulama içeriğine yönelik Tavsiyeler
Alt Form Denetim Değerlerine ulaşma ve Alt Form Güncelleme
Kapatırken Düzenle (Compact On Close) Seçeneğinin İşaretlenmesi Hakkında
Cevapla
#5
(23/02/2016, 17:04)fkilic76 yazdı: ilgili pc deki ofis" lisans-ürün anahtarı girin"gibi uyarı veriyor


Uyarının resmini gönderebilir misiniz?
Cevapla
#6
(24/02/2016, 20:33)ozanakkaya yazdı:
(23/02/2016, 17:04)fkilic76 yazdı: ilgili pc deki ofis" lisans-ürün anahtarı girin"gibi uyarı veriyor


Uyarının resmini gönderebilir misiniz?

[Resim: do.php?img=6013]
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task