Einzelnen Beitrag anzeigen

Alter Mann

Registriert seit: 15. Nov 2003
Ort: Berlin
946 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Abbrevia und AtViewer wollen nicht mit TMemoryStream

  Alt 29. Jun 2013, 18:37
Hallo Gemeinde,

ich habe mal wieder so ein dummes Problem.

Ich möchte den Inhalt im ATViewer anzeigen.
Nutze ich dazu ein MemoryStream bleibt zeigt der ATViewer nix an(Fenster wird Dunkelgrau):
Delphi-Quellcode:
procedure TMailForm.ShowMemFile(ArchivName : String);
var
  MS : TMemoryStream;
  UZ : TAbUnZipper;
begin
  MS := TMemoryStream.Create;
  try
      UZ := TAbUnZipper.Create(Self);
      try
        UZ.Stream := Stream;
        UZ.ExtractToStream(ConfirmFileName(ArchivName), MS);
        MS.Position := 0;
        ShowContent(MS, vmodeMedia); // <-- Problem?
      finally
        UZ.Free;
      end;
  finally
    MS.Free;
  end;
end;
Delphi-Quellcode:
procedure TMailForm.ShowContent(aStream : TStream; AMode: TATViewerMode);
begin
  ATViewer.OpenStream(aStream, aMode);
end;
Nutze ich dagegen den FileStream, futz es:
Delphi-Quellcode:
procedure TMailForm.ShowFileText(aText : String);
var
  FS : TFileStream;
  FN : String;
begin
  FN := GetTempFileName('temp.html');
  FS := TFileStream.Create(FN, fmCreate, fmShareDenyWrite);
  try
    FS.Write(Pointer(aText)^, Length(aText));
    FS.Position := 0;
  finally
    FS.Free;
  end;
  ATViewer.Open(FN);
end;
Meine Vermutung, es hängt mit AMode: TATViewerMode zusammen.

Hat jemand einen kleinen Hinweis?

Ach so, den Typ(?) der Datei kenne ich, in Form von:
Code:
application/pdf
.

Ich Danke Euch und wünsche ein friedsammes Wochenende
  Mit Zitat antworten Zitat