Форум: "Прочее";
Текущий архив: 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.045 c