- Код: Выделить всё
tex_LoadFromFile : function( const FileName : String; TransparentColor : LongWord = $FF000000; Flags : LongWord = TEX_DEFAULT_2D ) : zglPTexture;
это процедура.
Вызывается она таким образом:
- Код: Выделить всё
NameTemp:= 'gfx/' + Name + '.png';
loadedTextures[Length(loadedTextures) - 1].tex := tex_loadFromFile(NameTemp, $FF000000, TEX_DEFAULT_2D);
Пусть стригновая переменная Name хранит значение: 'xxx'.
Получается, что в переменной NameTemp значение: 'gfx/xxx.png'. При попытки исполнить код, вылетает исключение: "External: SIGSEGV".
Но если пойти в лоб и место переменной в вызове процедуры написать прямой путь(т.е. так: ...... tex_loadFromFile('gfx/xxx.png', $FF000000, TEX_DEFAULT_2D);), то все прекрасно работает! В чем может быть проблема? Это баг Lazarus, или я что-то не верно делаю?
Ось: Microsoft Windows XP Home Edition Service Pack 3
Версия Lazarus: 0.9.30