AccessTr.neT
32 bit (x86) yapılan programların 64 bit (x64) çalıştırılması - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html)
+--- Konu Başlığı: 32 bit (x86) yapılan programların 64 bit (x64) çalıştırılması (/konu-32-bit-x86-yapilan-programlarin-64-bit-x64-calistirilmasi.html)

Sayfalar: 1 2 3 4 5


Cvp: 32 bit (x86) yapılan programların 64 bit (x64) çalıştırılması - erensimsek - 19/04/2017

Access te şifre nasıl yapılıyor.


Cvp: 32 bit (x86) yapılan programların 64 bit (x64) çalıştırılması - ozanakkaya - 19/04/2017

(19/04/2017, 02:11)erensimsek yazdı: Access te şifre nasıl yapılıyor.

Site Kuralları:

1 d) Konu başlığı ile ilgisi olsun veya olmasın, başka bir üyenin açtığı konuya soru yazmak yasaktır. Sorunuz için yeni konu açınız.
5-) Konu açarken sorununuzu açık bir şekilde ifade etmelisiniz. 


Cvp: 32 bit (x86) yapılan programların 64 bit (x64) çalıştırılması - Deniz Çağlar Yakar - 22/08/2017

arkadasşar ben cozmedim bi yardımcı olurmusnuz bunu nasıl yapıstırcaz hangi satıra sizlerden ricam


Cvp: 32 bit (x86) yapılan programların 64 bit (x64) çalıştırılması - ozanakkaya - 23/08/2017

(22/08/2017, 14:36)Deniz Çağlar Yakar yazdı: arkadasşar ben cozmedim bi yardımcı olurmusnuz bunu nasıl yapıstırcaz hangi satıra sizlerden ricam

Merhaba. Örnek uygulamanızı ekleyip sorular bölümüne yeni konu açınız. Örneğiniz üzerinden çözüm üretelim.


Cvp: 32 bit (x86) yapılan programların 64 bit (x64) çalıştırılması - huramiral - 15/10/2017

valla ben çok yararlandım kendi adıma teşekkürleri sunarım.


Cvp: 32 bit (x86) yapılan programların 64 bit (x64) çalıştırılması - ugurarslan - 17/01/2018

(26/11/2013, 11:18)mehmetdemiral yazdı: Modüllerdeki api declaration satırlarında PTRSAFE deyimini kullanmalısınız. Hem 32 hem de 64 bit'te çalışması için mesela aşağıdaki biçimde olan kodları

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

şu şekilde değiştirin:

#If VBA7 Then
   Private Declare PtrSafe Function apiShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
#Else
    Private Declare Function apiShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
#End If
Böylece 32 bit için de 64 bit içinm de sorun ortadan kalkar.

Bunu eklemeniz gerektiğini nereden mi anlayacaksınız?
Modüllerde "private declare" ile başlayan kodlarda api kullanıldığı için 64 bit için sorun çıkar. Çünkü iki işletim sisteminde kullanılan api mantığı farklıdır. 32 bitlik işletim sisteminde kullanılan kodları yukarda verdiğim biçime dönüştürdüğünüzde her iki sistemde de sorunsuz çalışacaktır.

Bir uyarı: Eğer modülde Declare Function biçimi başında "private" olmadan kullanıldıysa o zaman da yine ptrsafe deyimini declare komutundan hemen sonra kullanmalısınız. Bir örnek vereyim:

kodumuz şöyle olsun

Declare Function LoadCursorBynum Lib "user32" Alias "LoadCursorA" _
 (ByVal hInstance As Long, ByVal lpCursorName As Long) As Long
Bu durumda ptrsafe nereye gelecek? Private declare'de hemen declare'den sonra kullanmıştık. Burada da aynı şekilde

#If VBA7 Then
   Declare PtrSafe Function LoadCursorBynum Lib "user32" Alias "LoadCursorA" _
 (ByVal hInstance As Long, ByVal lpCursorName As Long) As Long
#Else
   Declare Function LoadCursorBynum Lib "user32" Alias "LoadCursorA" _
 (ByVal hInstance As Long, ByVal lpCursorName As Long) As Long
#End If

Sonuçta her iki kullanımda da unutmamamanız gereken şey ptrsafe'yi declare sözcüğünden sonra kullanmak.

merhaba hocam,
accessde yazılmış 32 bit bir programımız var. 64 bit MS office 2016 kullanıyoruz. Programı çalıştırmak için bu kodları programın neresine yazacağız?