-1

我在delphi中制作了一个将图片上传到kinvey提供程序的程序,首先程序将TImage组件中的图像保存在特定的目录中然后将其上传到kinvey,问题是每次我打开它上传到kinvey的程序时,现在如何制作确保即使我多次打开程序它也只上传一次

Image1.Repaint;
Image1.Bitmap.SaveToFile('some dir');
procedure TTabbedwithNavigationForm.Timer2Timer(Sender: TObject);
var
  fn : string;
  Lstream : TFileStream;
  Lfile  : TBackendEntityValue;
begin
 fn := 'the file dir';
 try
Lstream := TFileStream.Create(fn, fmOpenRead);
BackendFiles1.Files.UploadFile(fn,Lstream, 'image/png',Lfile);
finally
Lstream.Free;
BackendFiles1.Free;

end;

end;

end.
4

1 回答 1

1

方法“Timer2Timer”的名称表明此代码是由名为 Timer2 的 Timer 组件触发的。;-)

检查此计时器在何处激活。如果在设计时已启用,则在定义的时间过去后立即调用该事件,独立于任何用户交互。

顺便说一句:最好对流使用 try/finally 块,但流创建应该直接在“try”之前(否则,如果流的创建失败,您将触发 finally 块,然后您将获得访问权限违规,因为流变量未初始化)。

“BackendFiles1.Files;”的调用 在 finally-block 内部对我来说似乎已经过时了,那该怎么办?

于 2015-08-16T19:38:38.660 回答