Mar*_*lka 4 delphi opengl string pointers char
我刚遇到一个奇怪的问题.我正在尝试将模型加载到OpenGL,在我加载纹理的部分我使用auxDIBImageLoadA(dibfile:PWideChar)函数.这是我的代码调用它
procedure CreateTexture(var textureArray: array of UINT; strFileName: string; textureID: integer); // Vytvožení textury
var
pBitmap: PTAUX_RGBImageRec;
begin
if strFileName = '' then exit;
MessageBox(0,PWideChar(strFileName),nil,SW_SHOWNORMAL);
pBitmap := auxDIBImageLoadA(PWideChar(strFileName));
if pBitmap = nil then exit;
...
Run Code Online (Sandbox Code Playgroud)
MessageBox仅用于控制.这就是:我运行应用程序,"FACE.BMP"出现一个框.好的.但后来我说错了"Failed to open DIB file F".当我设置stFileName为xFACE.BMP,我得到一个"Failed to open DIB file x".因此,出于某种原因,该函数似乎只采用了第一个字符.
我错过了什么吗?我正在使用glaux.dll,我从不同来源下载了5次,所以它应该没有错误(我希望每个OpenGL网站都提到它).
这很奇怪,以"A"结尾的函数通常采用PAnsiChar指针,而以"W"结尾的函数采用PWideChar指针.还有auxDIBImageLoadW电话吗?如果有使用那个,或尝试使用PAnsiChar,因为你传递的PWideChar(每个位置两个字节)如果被评估为1字节字符串,则看起来像一个字符长一个字符.
| 归档时间: |
|
| 查看次数: |
1842 次 |
| 最近记录: |