发信人: ilike()
整理人: leitiger(2002-06-05 23:49:05), 站内信件
|
【 在 fslzy (fslzy) 的大作中提到: 】 : 请问如何将一个结构体转为blob,又怎样读出blob数据转为结构体?
要用API,如下: 设为结构 str_exam lstr_exam, blob lbl_exam Function ulong MemoryCopy(ref str_exam source, REF blob destination, u long length) library "kernel32.dll" Alias for "RtlMoveMemory" Function ulong MemoryCopy(REF blob destination,ref str_exam source, ul ong length) library "kernel32.dll" Alias for "RtlMoveMemory" 设str_exam长度为 li_lenexam 将lstr_exam copy 到 lbl_exam lbl_exam = blob ( space ( li_lenexam ) ) MemoryCopy ( lstr_exam, lbl_exam, li_lenexam ) 将lbl_exam copy 到 lsr_exam MemoryCopy ( lbl_exam, lstr_exam, li_lenexam )
如只 从结构copy到blob,还可用blobedit,更简单一些。 记住这个API文档上找不到的RtlMoveMemory,非常非常有用。 它可用来取pb变量的指针。
-- ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.10.11.3]
发信人: ilike (ilike), 信区: Powerbuilder 标 题: Re: ilike 请再指教! 发信站: 网易虚拟社区 (Thu Aug 26 14:15:15 1999), 站内信件
【 在 fslzy (fslzy) 的大作中提到: 】 : 您上次提到的blob的解决方法,我定义了一个结构体 struct { int a1,string : a2} : 调用memorycopy函数将结构体拷到blob,然后用messagebox("",string(blob变量 : ))察看, : ....... 非常非常抱歉。 我随手给你写的API有错。 应该这样: Function ulong MemoryCopy( REF blob destination, ref str_test source,u long length) library "kernel32.dll" Alias for "RtlMoveMemory" 也就是说是将第二个参数copy到第一个去.我上次给你写的名字起错了。你一定以 为是将第一个copy到第二个去 我刚试过,没有问题的。
-- ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.96.156.11]
|
|