Hallo ich habe ein ProblemIch Will schreibe gerade ein Programm mit dem man Dateien über das Internet schicken kann doch sollen die dateien nicht sofort losgeschickt werden sondern der Benutzer soll bestätigen können ob er die Datei annehmen oder verweigern will.
Also ich schicke über Die
Indy TCP einige Daten wie die
IP , den UserNamen, Eine identifikationsNummer, die Dateinamen und die Gesammtgrösse der Dateien.
Der
TCP Server bekommt die Sachen und soll dann eine Form erstellen in die er dann alles einträgt und wo der Benutzer dann bestätigen kann.
So hier der Quellcode der Procedure die der
TCP Server Aufruft wenn er Eine Anfrage bekommt.
Code:
procedure TfrmMain.GetFileFrom(User,
IP, DMIN, Description, FileSize: String; Files: TStringList);
var TfGF: TfrmGetFile;
begin
If Application.FindComponent('GF' + DMIN) = Nil Then
begin
Application.CreateForm(TfrmGetFile, TfGF);
TfGF.Name:='GF' + DMIN;
TfGF.lblUserName.Caption := User;
TfGF.TCP.Host :=
IP;
TfGF.SetStatus('Online');
TfGF.lstboxFiles.Items.Assign(Files);
TfGF.memDescription.Text:=Description;
TfGF.lblFileSize.Caption:=FileSize;
end
else
begin
TfGF:=(Application.FindComponent('GF' + DMIN) As TfrmGetFile);
TfGF.TCP.Host :=
IP;
TfGF.SetStatus('Online');
TfGF.lstboxFiles.Items.Assign(Files);
TfGF.memDescription.Text:=Description;
TfGF.lblFileSize.Caption:=FileSize;
TfGF.SetFocus;
end;
end;
Rufe ich die Procedure mit einen Button auf funktionirt die wird die Procedure im Execute-Ereigniss des
TCP Servers aufgerufen bekomme ich die Meldung "Leinwand/Bild erlaubt kein zeichnen".
Was kann das Sein? Wie kann ich es machen das es funktioniert?