• Merhaba Ziyaretçi,
    Microsoft 365 Uygulamaları ile ilgili yeni haberler, dikkat çekici konular, ilgi ile takip edeceğiniz yazılar için.

    Abone Olun
  • ESTE - Microsoft Office Eğitimleri

    Yeni yıl Microsoft Office Eğitim planlarınız için bütçenizi oluşturmadan önce ESTE eğitim kalitesi ile tanışın. 🙌
    Kullanıcıların ihtiyacı olan yazılı materyal, dosya ve video kaynağı desteğimiz ile tüm ofis çalışanlarının iş süreçlerini rahatlatacak eğitimler planlayın. 🎯
    Microsoft Office eğitimlerimiz hakkında detaylı bilgi için bize ulaşın.

    👉 Microsoft Office Eğitim Talebi

Uygulama 64 Bit API Listesi

Murat OSMA

Yönetici
Site Yöneticisi
Katılım
25 May 2018
Mesajlar
1,608
En iyi yanıt
14
Puanları
113
Konum
İstanbul
Web sitesi
excelarsivi.com
Ad Soyad
Murat OSMA
Office Vers.
Office 365 TR+EN
Eğer 64 Bit kurulumlu bir ofis uygulaması kullanıyorsanız, 32 Bit ofis versiyonlarına göre hazırlanan prosedürleriniz veya programlarınızda bu şekilde bir fonksiyon hatası alırsınız.

api-hata-min.png

Bu hatanın anlamı şudur;
Derleme hatası:

Bu projedeki kod, 64 bit sistemlerde kullanılmak üzere güncellenmelidir.
Lütfen Declare ifadelerini gözden geçirin ve güncelleyin, ardından bunları PtrSafe öz niteliğiyle işaretleyin.

Bu hatayı alıyoruz çünkü; kullanılan Api fonksiyonları 32 Bit'e göre hazırlandığı için, 64 bit sürümlerle uyumsuzluk gösterecektir. Böyle bir durumda, mevcut 32 Bit Api fonksiyonlarınızı ek'te bulunan dosyadaki 64 Bit Api fonksiyonları ile değiştirmeniz gerekir.

Ek'teki dosyayı indirdikten sonra yapmanız gereken; hata veren fonksiyon adını dosyada arayıp, bulunan satırdaki fonksiyonu alarak kodlarınızdaki hata veren satır ile değiştirmek olacak.

Örnek dosya görseli:
api-min.png

32 Bit API kullanımına örnek;
Declare Function GetWindow Lib "user32.dll" (ByVal hwnd As Long, ByVal wCmd As Long) As Long
64 Bit API kullanımına örnek;
Declare PtrSafe Function GetWindow Lib "user32" Alias "GetWindow" (ByVal hwnd As LongPtr, ByVal wCmd As Long) As LongPtr

Her iki sürümde de kodlarınız çalışsın istiyorsanız, o zaman kodlarınızın bulunduğu pencerenin en üst satırında fonksiyonları bu şekilde belirtmeniz gerekir..
Kod:
#If VBA7 Then
    Private Declare PtrSafe Function GetWindow Lib "user32" (ByVal hwnd As LongPtr, ByVal wCmd As Long) As LongPtr
#Else
    Private Declare Function GetWindow Lib "user32.dll" (ByVal hwnd As Long, ByVal wCmd As Long) As Long
#End If
 

Ekli dosyalar

  • 64-Bit API Listesi.rar
    63.3 KB · Görüntüleme: 111
Son düzenleme:
Üst Alt