Ja, es funktioniert einfach nicht ich bekommen immer folgenden Fehler:
E/A-Ausnahme während des Vorgangs
Beim Debuggen kommt dann folgendes:
In T370
- Code:
procedure SaveToStream(var ResultStream: OutStream; EraseFileAfterCompletion: Boolean)
var
TempBlob: Codeunit "Temp Blob";
BlobStream: InStream;
begin
FileManagement.BLOBImportFromServerFile(TempBlob, FileNameServer);
TempBlob.CreateInStream(BlobStream);
CopyStream(ResultStream, BlobStream);
if EraseFileAfterCompletion then
FILE.Erase(FileNameServer);
end;
und dann in der Funktion FileManagement.BLOBImportFromServerFile scheitert das Ganze an InputFile.Open(FilePath);
- Code:
procedure BLOBImportFromServerFile(var TempBlob: Codeunit "Temp Blob"; FilePath: Text)
var
OutStream: OutStream;
InStream: InStream;
InputFile: File;
begin
IsAllowedPath(FilePath, false);
if not FILE.Exists(FilePath) then
Error(FileDoesNotExistErr, FilePath);
InputFile.Open(FilePath);
InputFile.CreateInStream(InStream);
TempBlob.CreateOutStream(OutStream);
CopyStream(OutStream, InStream);
InputFile.Close;
end;
es ist auch völlig egal, ob ich mit CreateBook einen Pfad angebe oder nicht:
- Code:
Clear(ExcelBuffer);
ExcelBuffer.Reset();
ExcelBuffer.DeleteAll();
ExcelBuffer.CreateBook(FileName + 'temp.xlsx', InvoiceLineLbl);
Ich arbeite hier übrigens in einem Docker. Was schon seltsam war:
Wenn ich kein Pfad angebe, wird irgend ein FileNameServer im ExcelBuffer erzeugt, welchen es gar nicht in meinem Docker gibt.
Wenn ich aber einen Pfad angebe, den es definitiv in meinem Docker gibt, kommt auch die E/A Ausnahme