allerdings bekomme ich beim zweiten Aufruf der UploadFile-Methode im Client eine
Exception
Wie lautet die
Exception-Message (daß man auch immer wieder erts nachfragen muß
) und wie ist die Servermethode implementiert?
irgendwo = Wenn man sagt der Owner soll es machen, dann macht Er (DataSnap) das auch.
Tipp:
Delphi-Quellcode:
procedure UploadFile(PfadName, FileName: String);
var lFileStream: TFileStream;
begin
if (FileName <> '') and FileExists(PfadName + FileName) then
begin
lFileStream := TFileStream.Create(PfadName + FileName, fmOpenRead);
try
try
DataModule.ServerMethods1Client.UploadFile(lFileStream, 'KundeXY', FileName);
except
ShowMessage('Übertragung fehlerhaft!');
end;
finally
if not DataModule.InstanceOwner then // DataSnap ist hier einfach nur blöd implementiert, also besser so
lFileStream.Free;
end;
end;
end;
PS: Bei Streams mit (standardmäßig) über 29 KB muß man etwas aufpassen.
PPS:
Eine
bessere treffendere Namensgebung wäre auch nicht unbedingt zu verachten. (z.B. alternativ zu den Vorgabewerten DataModule und ServerMethods1Client)
ShowMessage('Übertragung fehlerhaft!');
... Und was lief schief? ... das weiß nun keiner mehr.
stattdessen eventuell sowas:
Delphi-Quellcode:
except
on E:
Exception do
ShowMessage('
Übertragung fehlerhaft!' + sLineBreak + E.
Message);
end;