Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.10.28;
Скачать: [xml.tar.bz2];

Вниз

Вопрос по ресурсам   Найти похожие ветки 

 
ProgRAMmer Dimonych ©   (2007-09-25 19:26) [0]

Что-то никак не пойму... Есть программа и res-файл к ней, в котором содержатся текстуры, которые в свою очередь используются программой в зависимости от действий пользователя.

Суть проблемы. У меня на компьютере программа работает без вопросов. При попытке запустить её на другом компьютере текстуры путаются, как будто в EXE-файл включена не последняя версия res-файла. res-файл, естесствнно, включён в проект через {$R FileName.res} в файле проекта. При просмотре EXE-файла Restorator"ом все ресурсы оказываются на месте. Текстуры загружаются в TBitmap через LoadFromResource...

Что может быть причиной такого поведения?

===================

И заодно вопрос второй. Программу я тестировал на 4-х компьютерах. На одном из них при попытке работать с mp3-файлом (скопировать его содержимое в другой файл) возникает ошибка типа "файл используется другим приложением". Система - WinXP. На других 2-х компьютерах с WinXP эта проблема не наблюдается. С WAV- и MIDI-файлами программа работает без проблем на всех компьютерах. В чём, опять же, может быть причина?


 
Zeqfreed ©   (2007-09-25 19:37) [1]

> возникает ошибка типа "файл используется другим приложением".

Значит файл используется другим приложением :)
Бывает, встраивают всякие дополнительные расширения в проводник для предварительного просмотра файлов. Эти расширения могут держать файлы открытыми.


 
ProgRAMmer Dimonych ©   (2007-09-25 19:42) [2]

> Zeqfreed ©   (25.09.07 19:37) [1]
> > возникает ошибка типа "файл используется другим приложением".
> Значит файл используется другим приложением :)

Я оценил :)

> Бывает, встраивают всякие дополнительные расширения в проводник
> для предварительного просмотра файлов. Эти расширения могут
> держать файлы открытыми.

ОК, спасибо. Устрою допрос несчастному обладателю этого компьютера.

P.S. Кстати, а что может быть с res-файлами?


 
Zeqfreed ©   (2007-09-25 19:47) [3]

> P.S. Кстати, а что может быть с res-файлами?

Скорее всего дело не в бобине. Показывай, как достаешь ресурсы :)


 
ProgRAMmer Dimonych ©   (2007-09-25 19:53) [4]

Tmp:=TBitmap.Create;
Tmp.LoadFromResourceName(HInstance,"GRAPH");
if Failed(GetTexture(Tmp,GraphTex)) then begin Tmp.Free; Exit; end;
Tmp.LoadFromResourceName(HInstance,"SOUND");
if Failed(GetTexture(Tmp,SoundTex)) then begin Tmp.Free; Exit; end;
Tmp.LoadFromResourceName(HInstance,"ARROW");
if Failed(GetTexture(Tmp,ArrowTex)) then begin Tmp.Free; Exit; end;
Tmp.Free;


GetTexture() - функция, которая заполняет текстуру (второй параметр типа IDirect3DTexture8), используя содержимое битмапа (первый параметр). Возвращает E_FAIL, если были проблемы в работе с Direct3D, и S_OK, если всё в порядке.


 
ProgRAMmer Dimonych ©   (2007-09-25 19:54) [5]

В моём случае почему-то на всех тех компах, кроме моего, вместо всех текстур - первая (GRAPH).


 
Zeqfreed ©   (2007-09-25 20:00) [6]

> ProgRAMmer Dimonych ©   (25.09.07 19:53) [4]

<quibbling>
Почему не try..finally? Почему процедура, которая устанавливает текстуру, называется Get?
</quibbling>

В GetTexture не может быть ошибки?


 
Anatoly Podgoretsky ©   (2007-09-25 20:08) [7]

> ProgRAMmer Dimonych  (25.09.2007 19:53:04)  [4]

Происходит ошибка и до второго ресурса дело не доходит.
Код плохой уже сказали.
Ни try finally, try exept или хотя простой обработки ошибок в коде нет.
Поэтому ты об ошибке и не знаешь.


 
ProgRAMmer Dimonych ©   (2007-09-25 22:10) [8]

Вообще там кусок кода из Краснова, но решил заменить на D3DXCreateTextureFromResource (Direct3D8). При первом запуске программы пишет, что неправильный вызов, при остальных - неопознанная ошибка.

if Failed(D3DXCreateTextureFromResource(DXDev,0,"GRAPH",GraphTex)) then Exit;

DXDev:IDirect3DDevice8;
GraphTex:IDirect3DTexture8;

Выполняется без ошибок. Возникла, правда, другая проблема: D3DERR_DRIVERINTERNALERROR при Device.Present(), но она, скорее всего, связана с другой текстурой, которая создаётся через D3DXCreateTextureFromFile(). Если кто-нибудь уже сталкивался с этой проблемой и знает, в чём может быть причина, буду рад услышать совет.



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

Форум: "Прочее";
Текущий архив: 2007.10.28;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.037 c
15-1190994505
TwentyTwo
2007-09-28 19:48
2007.10.28
Может ли компьютер быть судьей?


15-1191392863
andreoman
2007-10-03 10:27
2007.10.28
как копировать временный файл из Opera


15-1191497367
Crazybobr
2007-10-04 15:29
2007.10.28
Таможенный ставки для чайника. Просьба помочь.


2-1191565058
vlad0
2007-10-05 10:17
2007.10.28
Счетчик ссылок.


15-1190688286
Slider007
2007-09-25 06:44
2007.10.28
С днем рождения ! 25 сентября 2007 вторник





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский