发信人: 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]
  | 
 
 
 |