2015-08-16 4 views
-1

я сделал программу в Дельфах, что загрузить изображение на kinvey поставщика, первая программа сохраняет изображение из компонента TImage в конкретном Dir затем загрузить его kinvey, вопрос каждый раз, когда я открыть программа она загружает в 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. 
+0

Поместите некоторую информацию локально об файлах ehich, которые вы загрузили. –

+1

Код - настоящий беспорядок. Наконец, блок плох. Код не выглядит полным. Я думаю, вы могли бы сделать лучше. –

+0

Вам нужно либо сохранить состояние где-то постоянным образом (DB/File System/etc), если вы хотите, чтобы приложение запоминало что-то между экземплярами. В качестве альтернативы вы могли бы выполнять какие-то перекрестные коммуникации. В конечном итоге это должно быть связано с необходимостью обновления изображения. – Graymatter

ответ

1

название метода «Timer2Timer» предполагает, что этот код запускается ... по компонент таймера с именем Timer2. ;-)

Проверьте, где активирован этот таймер. Если он уже включен во время разработки, событие будет вызываться, как только истечет определенное время, независимо от любого пользовательского взаимодействия.

BTW: Хорошо использовать блок try/finally для потоков, но создание потока должно быть непосредственно перед «try» (иначе вы будете запускать блок finally, если создание потока не удастся, а затем вы получают нарушение доступа, поскольку переменная потока не инициализируется).

Вызов "BackendFiles1.Files;" внутри блока finally кажется мне устаревшим, что делать?

+0

timer2 запускается при событии FormCreat @Udontknow – markkk

+0

загружено фото с картинки с картинки dir @Jens Borrisholt – markkk

Смежные вопросы