Einzelnen Beitrag anzeigen

F0rc3

Registriert seit: 24. Mai 2006
Ort: /home/force/
29 Beiträge
 
#16

Re: TICQClient - Filetransfer

  Alt 13. Jun 2007, 20:16
*freu* hab herausgefunden, wie man zumindestens eine Datei mit der TICQlib empfängt

Delphi-Quellcode:
 var uppto: string;
  _file: TFilestream;

implementation

procedure TForm1.ICQClient1FTStart(Sender: TObject; StartRec: TFTStartRec;
  FileName: string; FileSize, Speed: Cardinal);
begin
  _file := TFilestream.Create(uppto, fmCreate);
  icqclient1.FTStartResponse(startrec);
end;


procedure TForm1.ICQClient1FTRequest(Sender: TObject;
  RequestRec: TFTRequestRec);
begin
  if uppto <> 'then
  begin
    icqclient1.FTResponse(requestrec, true, 'Copying the file to' + uppto);
    timer2.Enabled := false;
  end
  else
  begin
    icqclient1.FTResponse(requestrec, false,
      'Please use the PUT-command first!');
    icqclient1.SendMessage(requestrec.UIN, 'Please use the PUT-command first!')
  end;
end;

procedure TForm1.ICQClient1FTFileData(Sender: TObject; UIN: Cardinal;
  Data: Pointer; DataLen: Cardinal; LastPacket: Boolean);
begin
  _file.Write(data^, datalen);
  if lastpacket then
    timer3.Enabled := true;
end;


procedure TForm1.Timer3Timer(Sender: TObject);
begin
  timer3.Enabled := false;
  _file.Free;
end;

Das mit dem Timer ist zwar DirtyProgramming, allerdings kam immmer eine Fehlermeldung wenn ich das .free zu dem if lastpacket geschrieben habe (auch mit try-finally), deshalb der Timer...




...Was ich aber immer noch nicht herausgefunden habe, ist wie man eine Datei an jemanden schickt - immer wenn ich SendFileDC benutzt habe passierte rein gar nichts - kann da vllt einer helfen? *pleeeease*
  Mit Zitat antworten Zitat