Войти
ПрограммированиеФорумЗвук

OpenAL+Windows Vista=не работает

#0
0:35, 24 авг. 2008

  TSound = class
  Context, Device: Pointer;
  MainDevice: TALCdevice;
  MainContext: TALCcontext;
  Buffer: array [0..2] of TALuint;
  Source: array [0..2] of TALuint;
  format: TALenum;
  data: TALvoid;
  size: TALsizei;
  freq: TALsizei;
  loop: TALint;
  Pitch: Single;
  sourcepos: array [0..2] of TALfloat;
  sourcevel: array [0..2] of TALfloat;
  listenerpos: array [0..2] of TALfloat;
  listenervel: array [0..2] of TALfloat;
  listenerori: array [0..5] of TALfloat;
  argv: array of PalByte;
  end;

InitOpenAL; - выдает true
Sound.Device:=alcOpenDevice(nil); - ошибка: read at address 000004
Sound.Context:=alcCreateContext(Sound.Device, nil);
alcMakeContextCurrent(Sound.Context);

пробовал и через "Context, Device: Pointer;" и через "MainDevice: TALCdevice;" + "MainContext: TALCcontext;"

в чем проблема? скопировал свой же код когда писал под Windows XP, но в Vista не работает? как лечить?


#1
12:24, 24 авг. 2008

хм а сам OpenAl поставил на висту?

#2
12:28, 24 авг. 2008

разумеется, он даже инициализируется.. но при получении Device'а вываливает ошибку..

#3
13:53, 24 авг. 2008

Duncon - а имхо этого более чем достаточно чтоб понять что это инициализация) даже лишнего много..
насчет Pointer - ты весь текст поста прочитал? предпоследнюю строчку посмотри :)

#4
16:12, 24 авг. 2008

V2oD2o
я делфи плохо знаю, но не вижу у тебя объявленной Sound .

посмотри тему тут http://www.gamedev.ru/sound/forum/?id=5509

#5
16:31, 24 авг. 2008

  TSound = class
  Context, Device: Pointer;
  MainDevice: TALCdevice;
...

в первом посте..

#6
16:31, 24 авг. 2008

потом ессно var Sound: TSound;

#7
17:09, 24 авг. 2008

все разобрался, OpenAL32.dll битый был, скопировал старый все работает.. или просто версия другая..

#8
18:06, 24 авг. 2008

я ж говорил.....

ПрограммированиеФорумЗвук

Тема в архиве.