Delphi-Quellcode:
var
SendStream: TFileStream;
procedure TForm1.Button2Click(Sender: TObject);
begin
ICQClient1.SendFileDC(12345678, 'C:\abc.bmp', 'Testing SendFileDC');
end;
procedure TForm1.ICQClient1SendFileData(Sender: TObject; UIN: Cardinal;
Data: Pointer; var DataLen: Cardinal; var IsLastPacket: Boolean);
begin
// Read 2048 bytes into Data Buffer.
DataLen := SendStream.Read(Data, 2048);
// Are we at the end of the file?
IsLastPacket := SendStream.Position = SendStream.Size;
end;
procedure TForm1.ICQClient1SendFileStart(Sender: TObject; UIN: Cardinal;
SendFileRec: TSendFileRec);
begin
If SendStream <> nil then
FreeAndNil(SendStream); // can only proccess one send at a time with this code.
// Open File For Reading.
SendStream := TFileStream.Create(SendFileRec.FilePath + SendFileRec.FileName, fmOpenRead);
end;
procedure TForm1.ICQClient1SendFileFinish(Sender: TObject; UIN: Cardinal;
SendFileRec: TSendFileRec; Aborted: Boolean);
begin
FreeAndNil(SendStream);
end;
So ungefähr sollte das aussehen - es funktioniert nur leider nicht (zumindest bei mir), weil es keine direkte Verbindung herstellen kann (was aber eigentlich funktionieren sollte)
Falls ihr eine Lösung habt, würde ich mich echt freuen!
PS: Inzwischen gibt's schon Version 1.20f (in der das oben genannte Problem aber immer noch nicht behoben ist)