Текущий архив: 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