Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа с указателями... [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]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо