On Dec 9, 2006, at 2:44 PM, Norman Palardy wrote:


On Dec 09, 2006, at 11:51 AM, James H.Membrez wrote:

Could someone tell me what is wrong with this Declare code? It consistently returns "0".

I'm using RB 5.5.5, MacOS 10.3.9.

(I tried it in RB2006 r4 and got the same result. I also tried the "System.IsFunctionAvailable" routine, which returned false, something I find hard to believe.)

dim m As MemoryBlock

m = newMemoryBlock(8)

  #if TargetMachO
Declare Function AudioGetCurrentHostTime Lib "/System/Library/ Frameworks/CoreAudio.frameworks/HostTime"() As MemoryBlock
    m = AudioGetCurrentHostTime()
  #endif

MsgBox str(m.UInt64DoubleMBS(0)) //use MBS plugin function to convert 64 bit integer to double

Thanks!

James

In 2006r4 you'd use a UInt64 as the return type and declare against CorAudio

        dim m As Uint64

        Declare Function AudioGetCurrentHostTime Lib "CoreAudio"() As Uint64
        m = AudioGetCurrentHostTime()

        MsgBox str(m)

In 5.5.5 I'm not sure what you need to do to get a 64 bit return type


Ah. 5.5.5.  I had overlooked that.  The following might work.

Declare Sub AudioGetCurrentHostTime Lib "CoreAudio" (returnValue as Ptr)

dim hostTime as new MemoryBlock(8)
AudioGetCurrentHostTime hostTime


Charles Yeomans

_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>

Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>

Reply via email to