Declara Kullanımı

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,745
Excel Vers. ve Dili
2010-2016
Kolay gelsin. Projelerde özellikle userform olanlarda Private Declare eklenerek kütüphane ekleniyor. Bu kütüphanelerin hangisi hangi işlem için kullanılır. Öğrenebileceğim bir yer var mı?
Bir de 2010 da çalışlan (32 veya 64 bitte de çalışan ) bir proje şimdi çalışmıyor. for i = 1 to 9 satırında i yi işaretleyerek hata veriyor.Hata olarak da Can't find project or library = Proje veya kütüphane bulamıyorum hatası veriyor. bu işlem için hangi kütüphane eklenmeli.
Mevcut kütüphaneler;
Private Declare PtrSafe Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
Private Declare PtrSafe Function FindWindowA Lib "user32" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare PtrSafe Function EnableWindow Lib "user32" (ByVal hWnd As Long, ByVal bEnable As Long) As Long
Private Declare PtrSafe Function GetWindowLongA Lib "user32" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare PtrSafe Function SetWindowLongA Lib "user32" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
 

Suskun

Altın Üye
Altın Üye
Katılım
27 Kasım 2006
Mesajlar
292
Excel Vers. ve Dili
Excel 19
Altın Üyelik Bitiş Tarihi
24.05.2032
32 ve 64 bitte çalışması için bu bildirimi yapmanız gerekir.


#If VBA7 And Win64 Then

Private Declare PtrSafe Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
Private Declare PtrSafe Function FindWindowA Lib "user32" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare PtrSafe Function EnableWindow Lib "user32" (ByVal hWnd As Long, ByVal bEnable As Long) As Long
Private Declare PtrSafe Function GetWindowLongA Lib "user32" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare PtrSafe Function SetWindowLongA Lib "user32" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Declare ptrsafe Function MyMathFunc Lib "User32" (ByVal N As Long) As Long

#Else

Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
Private Declare Function FindWindowA Lib "user32" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function EnableWindow Lib "user32" (ByVal hWnd As Long, ByVal bEnable As Long) As Long
Private Declare Function GetWindowLongA Lib "user32" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLongA Lib "user32" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

#End If
 

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,745
Excel Vers. ve Dili
2010-2016
32 bit 64 bit çevirmeyi veya ikisinde birden çalıştırmayı biliyorum. Benim sorduğum bu kütüphaneleri neden tanımladık. Hangi işlemlerde hangi kütüphaneler tanımlanıyor.
 

antonio

Destek Ekibi
Destek Ekibi
Katılım
13 Şubat 2011
Mesajlar
1,161
Excel Vers. ve Dili
Microsoft Office Professional Plus 2013 Türkçe
32 bit 64 bit çevirmeyi veya ikisinde birden çalıştırmayı biliyorum. Benim sorduğum bu kütüphaneleri neden tanımladık. Hangi işlemlerde hangi kütüphaneler tanımlanıyor.
Hep merak ettiğim, ne kadar çabalasam da, cevabını bulamadığım, sonunda uğraşmaktan bıktığım konudur. Çok net ifade ettiğiniz için teşekkürler. Cevabını bende merak ediyorum.
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,339
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
32 bit 64 bit çevirmeyi veya ikisinde birden çalıştırmayı biliyorum. Benim sorduğum bu kütüphaneleri neden tanımladık. Hangi işlemlerde hangi kütüphaneler tanımlanıyor.
Aradığınız cevap Türkçe değil ancak İngilizce olarak mevcut. "gdiplus.dll" çizim, "Advapi32.dll" Registry (hatırlayamadığım birkaç şey daha) vs.vs.

Google kullanın.

.
 
Üst