回 帖 发 新 帖 刷新版面

主题:求助:为什么会出错!!

Procedure SaXes;   
var
  I,Mode: Integer;
  stgRoot: IStorage;
  stmName: String;
  stmData: IStream;
  OleStream: TOleStream;
  LoadStream: TMemoryStream;
begin
  Ent[-1]:=tempPath + PwsFileName;
  Mode := STGM_CREATE+STGM_READWRITE+STGM_SHARE_EXCLUSIVE;
  StgCreateDocfile(StringToOleStr(EnSaveFilename),
    Mode, 0, stgRoot);

  LoadStream := TMemoryStream.Create;
  for I := -1 to FileK do
  begin
    stmName := Ent[i];
    if FileExists(Ent[i]) then
    begin
      stgRoot.CreateStream(StringToOleStr(stmName), Mode, 0, 0, stmData);
      OleStream := TOleStream.Create(stmData);
      LoadStream.LoadFromFile(stmName);
      LoadStream.Position := 0;
      OleStream.CopyFrom(LoadStream, LoadStream.Size);
      OleStream.Free;
    End;
  end;
  LoadStream.Free;

回复列表 (共2个回复)

沙发

能通过编译 在OleStream.Free;处出错

板凳

Ent[i]是文件列表

我来回复

您尚未登录,请登录后再回复。点此登录或注册