Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.04.05;
Скачать: CL | DM;

Вниз

Работа с указателями...   Найти похожие ветки 

 
yaric   (2009-02-07 22:04) [0]

Есть библиотека написанная на С++, из которой экспортируется следующая функция:

typedef void* HAUDIO;
.....
HAUDIO __stdcall OpenAudioFile(short *fileName);


Вот пример кода вызова этой функции:


type
TVorbisOpenAudio     =function (fileName:PShortInt):HAudio;
stdcall;
....
var
VorbisOpenAudio            :TVorbisOpenAudio=nil;
FNfile:TFileName;
FAudioFileName:array[0..Max(Path)] of WideChar;
begin
...
VorbisOpenAudio            := GetProcAddress( _VorbisDLLHandle, "_OpenAudioFile@4" );
FNfile:="Sigths\Texts\"+IntToStr(FSigthIndex+1)+"\Audio.ogg";
FNfile:=GetShortName(GetShortName(ExtractFilePath(ParamStr(0)))+FNfile);
StringToWideChar(FNfile,FAudioFileName,Length(FN)+2);

audio :=VorbisOpenAudio(PShortInt(@FAudioFileName));



приведенный код отлично выполняется под Windows XP, и не хочет выполняться под Windows Vista. Под Windows Vista в строке, которая помечена жирным строке возникает исключительная ситуация. Скажите пожалуйста это ошибка библиотеки или это я некоректно может с указателями работаю, и  Windows Vista мне это не прощает. Заранее спасибо.


 
Германн ©   (2009-02-08 02:13) [1]

Не хочу отвечать на сей вопрос.
Но никто, увы, на него не ответил.
Тогда спрошу. Что есть "возникает исключительная ситуация"?
Имхо, выдаётся сообщение об ошибке? Какое?


 
yaric   (2009-02-08 14:42) [2]

Возникает ошибка Access Violation....


 
kami ©   (2009-02-08 18:24) [3]

И при этом _VorbisDLLHandle<>0 и VorbisOpenAudio<>nil ?


 
yaric   (2009-02-08 21:33) [4]

ну почему nil нет...я просто не привел это код(троеточие). Я говорю что код отлично работает, однако под Windows Vista возникает проблема..


 
KSergey ©   (2009-02-09 09:57) [5]

> yaric   (08.02.09 21:33) [4]
> ну почему nil нет...

Там где не работает - это проверялось? в "нет" уверенность есть?

> Германн ©   (08.02.09 02:13) [1]
> Не хочу отвечать на сей вопрос.

А есть идеи?


 
kami ©   (2009-02-09 13:33) [6]

> я просто не привел это код(троеточие)

(троеточие) в твоем коде стоит ДО вызова GetProcAddress. И в приведенном коде нет проверки VorbisOpenAudio<>nil.

> Я говорю что код отлично работает, однако под Windows Vista
> возникает проблема

Значит не отлично работает.
Еще раз: в Vista _VorbisDLLHandle<>0 и VorbisOpenAudio<>nil ?


 
yaric   (2009-02-09 22:15) [7]

да я проверил в Vista _VorbisDLLHandle<>0 и VorbisOpenAudio<>nil...это точно


 
Германн ©   (2009-02-10 00:41) [8]


> KSergey ©   (09.02.09 09:57) [5]


> > Германн ©   (08.02.09 02:13) [1]
> > Не хочу отвечать на сей вопрос.
>
> А есть идеи?
>

Нет. Именно поэтому и не хотел отвечать.
Но автор явно из партизанского отряда. Решил попытаться выманить его оттуда, но похоже не преуспел. :(
После применения пыток третьей степени он, конечно, что-то говорит, но ни одну явку так пока и не открыл. (То что там возникало AV и так было понятно).


 
yaric   (2009-02-10 14:08) [9]

Вчера выявил новую особенность бага, с дебажной версией либы все работает с релизной выскаивает исключительная ситация..все я в полном тупике...Скажите мне какая информация по вам нужна я все приведу...Вопрос меня загнал в тупик:(


 
Сергей М. ©   (2009-02-10 14:19) [10]

Полный текст исключения приведи ..


 
yaric   (2009-02-10 22:51) [11]

invalid floating point operation


 
Сергей М. ©   (2009-02-10 22:56) [12]

Что-то ты лапшу вешаешь).

Сначала у тебя "Access Violation", а теперь вдруг "invalid floating point operation"..

Это же два совершенно разных исключения, возникающих по совершенно разным причинам !..


 
Anatoly Podgoretsky ©   (2009-02-10 23:03) [13]

> Сергей М.  (10.02.2009 22:56:12)  [12]

Исключения разные - причина одна.
Неверная работа с указателями.


 
yaric   (2009-02-11 00:38) [14]

>>Anatoly Podgoretsky
подскажите в чем неправильная работа с указателями...


 
yaric   (2009-02-11 00:41) [15]

и почему данная ситуация проявляется только при работе под Vista...


 
Германн ©   (2009-02-11 00:52) [16]


> yaric   (11.02.09 00:38) [14]
>
> >>Anatoly Podgoretsky
> подскажите в чем неправильная работа с указателями...
>

Перестань наконец партизанить!
Сделай простой тестовый проект, который выдает ошибку при работе под Вистой. И выложи его куда-нибудь, где всяк может его легко получить.
Тогда и только тогда можно просить реальной помощи.


 
Anatoly Podgoretsky ©   (2009-02-11 09:07) [17]

> yaric  (11.02.2009 0:38:14)  [14]

Обычно в ком.


 
yaric   (2009-02-11 11:17) [18]

извините за дезинформацию просто vistы вчера под рукой не было...
исключение котрое происходит Floating point overflow


 
Anatoly Podgoretsky ©   (2009-02-11 11:28) [19]

Можно ли эту информацию считать за SP2


 
yaric   (2009-02-12 20:45) [20]

да...



Страницы: 1 вся ветка

Текущий архив: 2009.04.05;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.014 c
2-1235055783
Denis__
2009-02-19 18:03
2009.04.05
Сообщение, приходящее при клике левой кнопкой мыши


2-1234501149
Гарик
2009-02-13 07:59
2009.04.05
OnShow(self)


4-1207513836
Alex
2008-04-07 00:30
2009.04.05
Расстояние между иконками в Virtual ListView.


2-1234361101
JVtheGost
2009-02-11 17:05
2009.04.05
ODAC без клиента Oracle


15-1233835334
Ega23
2009-02-05 15:02
2009.04.05
Знатоки JavaScript - посоветуйте