![]() |
Re: TFIleStream und Pointer
Hallöchen,
jetzt hab ich glaube ich den Fehler gefunden, so gehts erst mal überhaupt :
Delphi-Quellcode:
Das Problem war anscheinend die Zeile hier :
procedure TForm1.ICQClient1SendFileData(Sender: TObject; UIN: Cardinal;
Data: Pointer; var DataLen: Cardinal; var IsLastPacket: Boolean); begin DataLen := SendStream.Read(Data^, 256); edDataLen.Text:=IntToStr(DataLen); ssPos.Text:=IntToStr(SendStream.Position); ssSize.Text:=IntToStr(SendStream.Size); //if SendStream.Position = SendStream.Size then if DataLen < 256 then IsLastPacket := True; end;
Delphi-Quellcode:
Das musste auch ein Pointer auf die Daten sein.
DataLen := SendStream.Read(Data^, 256);
Das Problem ist jetzt nur noch das er aufhört zu senden bevor alle daten übertragen sind. Das Problem ist nur das hier :
Delphi-Quellcode:
Irgendwie scheint das nicht hinzuhauen.
IsLastPacket := SendStream.Position = SendStream.Size;
Ich hab jetzt zum testen mal 3 Edits gemacht in denen die DataLen, SendStream.Position und SendStream.Size angezeigt werden. Es passiert folgendes : SendStream.Size zeigt die richtige grösse an, SendStream.Position steigt an bis SendStream.Size erreicht ist und DataLen zeigt die aktuelle grösse der Daten an die gesendet werden. Scheint also alle zu stimmn. Trotzdem kmmt nur die hälfte an.??? Beim kupel sagt ICQ dann immer 'Othr Side has closed the Connection' ... Hmm, an was könnte das denn jetzt noch liegen ? Matias |
Re: TFIleStream und Pointer
Hallöchen nochmal,
ich bekomms einfach nicht gebacken. Das senden geht nun manchmal, manchmal nicht. Das empfangen geht gar nicht. Vielleicht habt ihr ja Lust das Teil mal zu testen. So viel Erfahrung hab ich ja noch nicht. Vielleicht bekommt Ihr es ja hin. Falls also jemand Lust haben sollte hab ich ![]() Ich danke Euch Matthias |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz