procedure TForm2.VariantToStream (const v : olevariant; 
                                  Stream : TMemoryStream); 
var 
  p : pointer; 
begin 
  Stream.Position := 0; 
  Stream.Size := VarArrayHighBound (v, 1) - VarArrayLowBound(v,  1) + 1; 
 p := VarArrayLock (v); 
  Stream.Write (p^, Stream.Size); 
  VarArrayUnlock (v); 
  Stream.Position := 0; 
end;

procedure TForm2.StreamToVariant (Stream : TMemoryStream; var v : OleVariant); 
var 
  p : pointer; 
begin 
  v := VarArrayCreate ([0, Stream.Size - 1], varByte); 
  p := VarArrayLock (v); 
  Stream.Position := 0; 
  Stream.Read (p^, Stream.Size); 
  VarArrayUnlock (v); 
end;

最新文章

  1. python 数据类型---布尔型& 字符串
  2. 【转】Java中try catch finally语句中含有return语句的执行情况(总结版)
  3. CSS大美集
  4. 【Java每日一题】20161130
  5. 关于使用nuget的部分代码
  6. linux笔记-硬链接和符号链接
  7. JAVA jdbc(数据库连接池)学习笔记(一)
  8. XiaoShi657的留言板
  9. selenium webdriver python 操作IE浏览器
  10. Android-1
  11. 【ecos学习5】redboot 加载运行hello world
  12. SpringMVC 异常处理
  13. devexpress chartcontrol实现非连续点数据的显示
  14. 【Weblogic】启动命令nohup解析
  15. python学习笔记(四)
  16. Java 判断字符串是否为空的四种方法、优缺点与注意事项
  17. git 不能拉取时,检查是不是被杀毒软件给干掉了
  18. ReentrantLock 分析
  19. Python——List
  20. ORACLE_ERP帐务分录

热门文章

  1. .Net和SqlServer的事务处理实例
  2. [转]利用C#自带组件强壮程序日志
  3. Linux 期中架构 PHP
  4. shell脚本函数
  5. Appium+python自动化8-Appium Python API
  6. VS Code 基本介绍 和 快捷键
  7. How to use POST method in Tornado?
  8. golang web框架 beego 学习 (三) beego获取参数
  9. Maven 添加jdk编译插件
  10. 关于Node和Deno