2012-04-23 11 views
14

Estoy buscando un reemplazo de MessageBeep en el OS X. Parece que la función adecuada para llamar sería NSBeep pero no es compatible con XE2 RTL.Cómo llamar a NSBeep desde Delphi

¿Cómo puedo llamar a NSBeep desde la aplicación Delphi?

+1

¿Qué hay de usar la [ 'Beep'] (http://docwiki.embarcadero.com/Libraries/en/System.SysUtils.Beep) en su lugar? Sin embargo, no tengo idea de lo que significan con la nota * En MAC OS, la rutina de Pitido tiene una funcionalidad limitada *, ¿significa que tiene menos de * beep * :-)? – TLama

+3

En mi caso, esto probablemente sea suficiente, pero me gustaría aprender cómo agregar correctamente mis propias importaciones en OS X. – gabr

Respuesta

12

Es sólo una función normal C:

procedure NSBeep; cdecl; 
    external '/System/Library/Frameworks/AppKit.framework/AppKit' name '_NSBeep'; 
+1

¡Gracias! Casi lo tengo pero me faltaba el último '/ AppKit' en el externo y no funcionó. – gabr