DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: yangjie6020
今日帖子: 42
在线用户: 27
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 ccxpts (渔夫) ★☆☆☆☆ -
普通会员
2017/5/28 21:23:52
标题:
datasnap使用stream上传数据成功后,释放stream会出错 浏览:754
加入我的收藏
楼主: function TForm3.MySaveFdData(tableName: string; fmt1: TFDMemTable): Boolean;
var
  FMemStream: TMemoryStream;
begin
  Result := False;

  if fmt1.State in dsEditModes then
    fmt1.Post;
  if fmt1.ChangeCount = 0 then
    Exit;

  FMemStream := TMemoryStream.Create;
  try
    try
      fmt1.ResourceOptions.StoreItems := [siDelta, siMeta];
      fmt1.SaveToStream(FMemStream, TFDStorageFormat.sfBinary);
      FMemStream.Position := 0;

      if FDStoredProcPost.Active then
        FDStoredProcPost.Close;
      FDStoredProcPost.ParamByName('tableName').AsString := tableName;
      FDStoredProcPost.ParamByName('AStream').asStream:= FMemStream;
      FDStoredProcPost.ExecProc;
      Result := FDStoredProcPost.ParamByName('ReturnValue').AsBoolean;
    except
      On E: Exception do
        raise Exception.Create(E.Message);
    end;
  finally
   //FMemStream.Free; 释放报错
  end;
end;
stream作为参数上传后,释放会出错
我看官方datasnap demo也不释放stream
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行230.4688毫秒 RSS