我有2個應用程序讓我們稱之爲服務器和客戶端。如何使用App Tethering從服務器獲取圖像
我正在使用Delphi-xe8。應用程序 - >多設備應用程序
在兩面使用:應用程序綁定[tManager,tAProfile],SQLite數據庫。
在服務器SQLite數據庫我有6個圖像。我想在客戶端查看該圖像。
在客戶端我有6 [TImage]。
當我點擊按鈕'獲取圖像列表'我得到6個相同的看法。
我想6個圖像來觀看不同 - > [從服務器獲取數據庫]
客戶 「獲取圖像列表」 按鈕代碼:
procedure TForm1.GetImgLstClick(Sender: TObject);
begin
tAProfile.SendString(tManager.RemoteProfiles.First,'GetImages','');
end;
服務器接收代碼:
procedure TForm2.tAProfileResourceReceived(const Sender: TObject;
const AResource: TRemoteResource);
var
MS1:TMemorystream;
begin
if AResource.Hint='GetImages' then
begin
MS1:=TMemorystream.Create;
rQuery.Close;
rQuery.SQL.Clear;
rQuery.SQL.Add('select image from users');
rQuery.Open;
while not rQuery.Eof do
begin
tblobField(rQuery.FieldByName('image')).SaveToStream(MS1);
Image1.Bitmap:=nil;
rQuery.Next;
end;
tAProfile.SendStream(tManager.RemoteProfiles.First,'SendImages',MS1);
end;
end;
客戶端收到代碼:
procedure TForm1.tAProfileResourceReceived(const Sender: TObject;
const AResource: TRemoteResource);
var
MS:TMemoryStream;
begin
if AResource.Hint='SendImages' then
begin
Image1.Bitmap.LoadFromStream(AResource.Value.AsStream);
Image2.Bitmap.LoadFromStream(AResource.Value.AsStream);
Image3.Bitmap.LoadFromStream(AResource.Value.AsStream);
Image4.Bitmap.LoadFromStream(AResource.Value.AsStream);
Image5.Bitmap.LoadFromStream(AResource.Value.AsStream);
Image6.Bitmap.LoadFromStream(AResource.Value.AsStream);
end;
end;
我正在使用Delphi-xe8。應用程序 - >多設備應用程序 –
截圖與這個和你昨天的問題無關,它們提出了同樣的問題。您在服務器應用程序中使用了哪種數據集類型? – MartynA
@TomBrunberg:我已經在昨天的回答中向他展示了OP如何做到這一點:http://stackoverflow.com/questions/42140246/delphi-how-to-get-all-images-from-server -database逐使用-APP-栓系/ 42144117#42144117。他似乎缺少的一步是如何將他的Sqlite數據庫中的數據導入到ClientDataSet中,我將稍後解釋。 – MartynA