you can use function:
InitOpenAL(LibName: String): Boolean;
with the unit you can download from: http://www.noeska.com/doal/downloads.aspx
that uses dynamic loading.

PS looking at the code now it seems that
Code:
if &#40;LibHandle <> 0&#41; then
is placed to low it should be placed before:
Code:
alGetProcAddress &#58;= GetProcAddress&#40;LibHandle, 'alGetProcAddress'&#41;;
Now when calling InitOpenAl it should return true when openal is available and false when not.