请教!!!!!!我付出我的所有......for her(一个关于bmp的问题)(100分)

  • 主题发起人 主题发起人 larrytwo
  • 开始时间 开始时间
L

larrytwo

Unregistered / Unconfirmed
GUEST, unregistred user!
我在读取一个bmp文件的时候
想用一个buffer来存储图像数据(RGB格式)可是
总是出错。
程序如下:
文件已经打开!!!
getmem(buffer,bitmapinfo.bmiheader.bisizeimage);
//取得一块与图像一样大的内存
fileseek(fhandle,54,0);
fileread(fandle,buffer,bitmapinfo.bmiheader.bisizeimage);
freemem(buffer);
却总是说access violation at address 40003470
in module'vcl50.bpl'.write of address 051f33628.
我已经快要疯掉!!!先后试过localalloc();Globalalloc();
allocmem();
都说我暴力访问!!!!

请各位大虾帮帮忙!!!
 
fileread(fhandle,buffer^,bitmapinfo.bmiheader.bisizeimage);// 如果你的Buffer定义为PChar
或者
FileRead(FHandle, Buffer[1], .....); // 如果你定义Buffer为String
或者
FileRead(FHandle, PChar(Buffer)^, ....); // 如果你定义buffer为Pointer
或者
......
 
接受答案了.
 
后退
顶部