请教高手这个C语言的结构如何翻译为Pascall语言?

cbo5 2005-07-05 08:52:06
typedef uint32 __stdcall FNPDFIO( int16 nCmd, uint8 far * lpBufIO, uint16 nBytes, void FAR * lpGeneric );
typedef FNPDFIO FAR *LPFNPDFIO;

typedef struct s_pdfobject{
uint16 ioType;
uint16 ioDirection;
uint32 nLen;

union {
uint8 far * lpMemBuffer;
struct {
LPFNPDFIO lpfnCallback;
void FAR * lpAppArg;
} func;
struct {
HANDLE hFile;
LONG nInitPos;
Bool fMustClose;
} file;
struct {
uint8 far * lpMem;
uint16 fmtOutput;
} clip;
} access;
Bool fIsHuge;
void FAR * lpState;

} PDFObject;
...全文
105 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
cbo5 2005-07-06
  • 打赏
  • 举报
回复
楼上的帮帮忙啊,我知道union的意思是指里面的成员占用同一块内存,其大小为最大的成员的大小,这里是不是 struct file的大小啊,如果是,我在Pascal里是不是定义使用这样一个结构就可以代替这个union了?试了半天,不管怎么定义,在调用dll的函数时,传递这个结构总是不对.
DelphiBoy2003 2005-07-06
  • 打赏
  • 举报
回复
说实话,这个结构定义的很变态,头两句就是定义一个函数指针而已。把类型和Delphi的类型对调就可以了,后面的结构体内部又包含了联合,翻译起来打字太多了,楼主自己翻译一下吧,用到的东西就那么点,但是打字就太多了点
constantine 2005-07-06
  • 打赏
  • 举报
回复
up
何鲁青 2005-07-06
  • 打赏
  • 举报
回复
看来要加紧C的学习了-_-#
何鲁青 2005-07-06
  • 打赏
  • 举报
回复
才疏学浅,不会不会……
lovend 2005-07-05
  • 打赏
  • 举报
回复
帮你顶

16,749

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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