![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с указателями... [D7, WinXP]
yaric © (2009-02-07 22:04:00)Есть библиотека написанная на С++, из которой экспортируется следующая функция:
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 мне это не прощает. Заранее спасибо.
yaric (2009-02-12 20:45:00) [1]да...
Anatoly Podgoretsky (2009-02-11 11:28:00) [2]Можно ли эту информацию считать за SP2
yaric (2009-02-11 11:17:00) [3]извините за дезинформацию просто vistы вчера под рукой не было...
исключение котрое происходит Floating point overflow
Anatoly Podgoretsky (2009-02-11 09:07:00) [4]> yaric (11.02.2009 0:38:14) [14]
Обычно в ком.
Германн (2009-02-11 00:52:00) [5]
> yaric (11.02.09 00:38) [14]
>
> >>Anatoly Podgoretsky
> подскажите в чем неправильная работа с указателями...
>
Перестань наконец партизанить!
Сделай простой тестовый проект, который выдает ошибку при работе под Вистой. И выложи его куда-нибудь, где всяк может его легко получить.
Тогда и только тогда можно просить реальной помощи.
yaric (2009-02-11 00:41:00) [6]и почему данная ситуация проявляется только при работе под Vista...
yaric (2009-02-11 00:38:00) [7]>>Anatoly Podgoretsky
подскажите в чем неправильная работа с указателями...
Anatoly Podgoretsky (2009-02-10 23:03:00) [8]> Сергей М. (10.02.2009 22:56:12) [12]
Исключения разные - причина одна.
Неверная работа с указателями.
Сергей М. (2009-02-10 22:56:00) [9]Что-то ты лапшу вешаешь).
Сначала у тебя "Access Violation", а теперь вдруг "invalid floating point operation"..
Это же два совершенно разных исключения, возникающих по совершенно разным причинам !..
yaric (2009-02-10 22:51:00) [10]invalid floating point operation
Сергей М. (2009-02-10 14:19:00) [11]Полныйтекст исключения приведи ..
yaric (2009-02-10 14:08:00) [12]Вчера выявил новую особенность бага, с дебажной версией либы все работает с релизной выскаивает исключительная ситация..все я в полном тупике...Скажите мне какая информация по вам нужна я все приведу...Вопрос меня загнал в тупик:(
Германн (2009-02-10 00:41:00) [13]
> KSergey © (09.02.09 09:57) [5]
> > Германн © (08.02.09 02:13) [1]
> > Не хочу отвечать на сей вопрос.
>
> А есть идеи?
>
Нет. Именно поэтому и не хотел отвечать.
Но автор явно из партизанского отряда. Решил попытаться выманить его оттуда, но похоже не преуспел. :(
После применения пыток третьей степени он, конечно, что-то говорит, но ни одну явку так пока и не открыл. (То что там возникало AV и так было понятно).
yaric (2009-02-09 22:15:00) [14]да я проверил в Vista _VorbisDLLHandle<>0 и VorbisOpenAudio<>nil...это точно
kami (2009-02-09 13:33:00) [15]> я просто не привел это код(троеточие)
(троеточие)в твоем коде стоит ДО вызова GetProcAddress. И в приведенном коде нет проверки VorbisOpenAudio<>nil.
> Я говорю что код отлично работает, однако под Windows Vista
> возникает проблема
Значит не отлично работает.
Еще раз: в Vista _VorbisDLLHandle<>0 и VorbisOpenAudio<>nil?
KSergey (2009-02-09 09:57:00) [16]> yaric (08.02.09 21:33) [4]
> ну почему nil нет...
Там где не работает - это проверялось? в "нет" уверенность есть?
> Германн © (08.02.09 02:13) [1]
> Не хочу отвечать на сей вопрос.
А есть идеи?
yaric (2009-02-08 21:33:00) [17]ну почему nil нет...я просто не привел это код(троеточие). Я говорю что код отлично работает, однако под Windows Vista возникает проблема..
kami (2009-02-08 18:24:00) [18]И при этом _VorbisDLLHandle<>0 и VorbisOpenAudio<>nil ?
yaric (2009-02-08 14:42:00) [19]Возникает ошибка Access Violation....
Германн (2009-02-08 02:13:00) [20]Не хочу отвечать на сей вопрос.
Но никто, увы, на него не ответил.
Тогда спрошу. Что есть "возникает исключительная ситуация"?
Имхо, выдаётся сообщение об ошибке? Какое?