关于指针的问题,对高手来说应该不是问题。

flyinwuhan 2003-10-18 06:20:46
lpbi是一个BITMAPINFO类型的指针,计算图像数据位置的函数原型:
LPSTR FindDIBBits( LPSTR lpbi )
{
return ( lpbi + *(LPDWORD)lpbi + PaletteSize( lpbi ) );
}

我转换为pascal:
function FindDIBBits( pbi: LPSTR ):LPSTR;
begin // 本函数有疑问: *(LPDWORD)pbi = (PDWORD(pbi))^ ?
result := pbi + (PDWORD(pbi))^ + PaletteSize( pbi );
end;

问题是我转换的对吗?
另外,原形中为什么要加上*(LPDWORD)lpbi ?
直接return ( lpbi + PaletteSize( lpbi ) );才对啊!
...全文
22 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
pankun 2003-10-19
  • 打赏
  • 举报
回复
呵呵,今天泡网呢.
flyinwuhan 2003-10-19
  • 打赏
  • 举报
回复
问题已经解决,散分吧!

今天是星期天啊,大家做什么了?娱乐?运动?编程?答者有分!21点结贴!
hiflower 2003-10-18
  • 打赏
  • 举报
回复
呵呵,怪只怪你自己太心急发帖了 ^_^
DJ_KK 2003-10-18
  • 打赏
  • 举报
回复
那给我好了
flyinwuhan 2003-10-18
  • 打赏
  • 举报
回复
自己解决了! 难道我是高手???

转换是对的。
原形中为什么要加上*(LPDWORD)lpbi?

*(LPDWORD)lpbi指出了BITMAPINFO结构的大小,必须加的。

斑竹啊,把分给我吧!
wzwcn 2003-10-18
  • 打赏
  • 举报
回复
可惜我不是高手
flyinwuhan 2003-10-18
  • 打赏
  • 举报
回复
高手啊,你在哪里啊?
hiflower 2003-10-18
  • 打赏
  • 举报
回复
你的转换没错
原形为何如此,就不知道了,原形应该不会有错吧

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧