Einzelnen Beitrag anzeigen

danieleh

Registriert seit: 1. Dez 2005
54 Beiträge
 
#5

Re: Blob: Filestream und Zusatzinformation

  Alt 25. Mär 2009, 18:50
Hallo

Die Prozedur will irgendwie nicht so ganz. Ich musste sie abändern wegen Fehlern, zB bei: Strm1.Write(Strm2.Buffer^, Strm2.Size)); Trotzdem klappt es nicht.
Ich frag mich ob ein Memorystream überhaut zuverlässig genug ist ?

Delphi-Quellcode:
    Strm1 := TMemoryStream.Create;
    Strm2 := TMemoryStream.Create;

    Fname := 'C:\irgendeinedatei.xyz';
    blob:=D_DOCS.CreateBlobStream(D_DOCS.FieldByName('F_BLB'),bmWrite);
    try
      blob.Seek(0,soFromBeginning);

      Strm2.LoadFromFile(Fname);

      sLen:=Length(ExtractFileName(Fname));
      Strm1.Write(sLen, sizeof(sLen));
      Strm1.Write(Fname[1], sLen);

      sLen:= Strm2.Read(sLen,SizeOf(sLen));
      Strm1.Write(sLen, sizeof(sLen));
      Strm1.Write(Strm2.Memory^,(sLen));

      try
        Blob.CopyFrom(Strm1, Strm1.Size);
      finally
        Strm1.Free;
        Strm2.Free;
      end;
    finally
      blob.Free;
      D_DOCS.Post;
    end;
  Mit Zitat antworten Zitat