• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

64-bit systems uyarısı

Katılım
17 Nisan 2011
Mesajlar
51
Excel Vers. ve Dili
2007 türkçe
merhaba

yeni bir bilgisayar aldım ve önceki bilgisayarımda office 2007 ile yapmış olduğum bir çalışmamı şimdiki bilgisayarımda ki yüklü office 2010 da kullanamıyorum.. makro devreye girdiği zaman şöyle bir uyarı veriyor.

"the code in this project must be updated for use on 64-bit systems. Please review and update Declare statements and then mark them with the PtrSafe attribute"

ne yapmam lazım şimdiden teşekkürler..

Private isPlaying As Boolean

Dim deger As String
Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long HATA VERDİĞİ KOD BURASI

Public Sub Ap_002AC_Play()
Dim mp3File As String '
acılacak_dosya = deger
mp3File = Chr$(34) & acılacak_dosya & Chr$(34)
If isPlaying = True Then
Call mciSendString("Stop MM", 0&, 0&, 0&)
Call mciSendString("Close MM", 0&, 0&, 0&)
Call mciSendString("Open " & mp3File & " Alias MM", 0&, 0&, 0&)
Call mciSendString("Play MM", 0&, 0&, 0&)
Else
Call mciSendString("Stop MM", 0&, 0&, 0&)
Call mciSendString("Close MM", 0&, 0&, 0&)
isPlaying = True
End If
End Sub

Public Sub Ap_002AC_Stop()
If isPlaying = False Then Exit Sub
Call mciSendString("Stop MM", 0&, 0&, 0&)
Call mciSendString("Close MM", 0&, 0&, 0&)
End Sub

Private Sub Worksheet_Activate()
deger = ThisWorkbook.Path & "\tema.wav"
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)

If Cells(2, "g") = "TEMA" Then
deger = ThisWorkbook.Path & "\tema.wav"
Ap_002AC_Stop
Ap_002AC_Play
ElseIf Cells(2, "g") = "YRDM" Then
deger = ThisWorkbook.Path & "\yardım.wav"
Ap_002AC_Stop
Ap_002AC_Play
ElseIf Mid(Cells(2, "g"), 1, 1) = "T" Then
deger = ThisWorkbook.Path & "\mağaza.wav"
Ap_002AC_Stop
Ap_002AC_Play
Else
Ap_002AC_Stop
End If

End Sub
 
Merhaba

Aşağıdaki linkleri inceleyiniz.

http://support.microsoft.com/kb/983043

http://msdn.microsoft.com/en-us/library/ee691831.aspx

Data tiplerini inceleyiniz.

As long kısmını As LongPtr olarak değiştirin
teşekkür ederim üstadım..
2010 u kaldırdım 2007 yükledim sorun kalmadı.. pek fazla ingilizcem olmadığı için sayfalardan fazla birşey anlamadım.. yalnız bir sorum daha olacak.. yukarıdaki makronun ses dosyalarını c:\WINDOWS\Media nın içine attığımda çalmıyor nedendir acaba.. makrodaki yoluda değiştirdiğim halde..
 
kırmızı uyarı yazısının başındaki kodu
Private declare Ptrsafe function ....
şeklinde değiştirirsen düzelir
 
Api'nin doğrusu bu şekilde olmalı;

Kod:
Private Declare PtrSafe Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" _
(ByVal lpstrCommand As String, ByVal lpstrReturnString As String, _
ByVal uReturnLength As Long, ByVal hwndCallback As LongPtr) As Long
 
Teşekkür ederim Murat Bey
 
Geri
Üst