hi
ich versuche gerade das
OS Projekt von
DataCool in
Indy 10 umschreiben, ich habe aber ein Problem beim empfangen.
Delphi-Quellcode:
procedure TfrmMainServer.TcpServerExecute(AThread: TIdPeerThread);
//<-- in Indy 10 steht (AContext: TIdContext)
Var sClientMsg :
String;
FileReceiver : TFileReceiver;
//diese Definietion kommt von der Filereceiver Unit
begin
try
// Clientnachricht lesen
sClientMsg := AThread.Connection.ReadLn(#$A,5500);
FileReceiver := TFileReceiver.Create(AThread,sClientMsg);
try
// gültige Nachricht vom Client ?
if FileReceiver.ServerMsgOK
then begin
// Datei jetzt empfangen
if FileReceiver.Start
then
// Bestätigung zum Clientschreiben
AThread.Connection.WriteLn('
FILEOK')
else
// Error-Nachricht schreiben
AThread.Connection.WriteLn('
FILEERROR');
end;
finally
FileReceiver.free;
end;
except
AThread.Connection.Disconnect;
end;
end;
mein Problem ist es, dass es in
indy 10 keinen IdPeerthread mehr gibt, sondern idContext.
in der Filereceiver
unit wird der idPeerthread jedoch benötigt
Delphi-Quellcode:
type
TFileReceiver =
Class
private
..
fLabRe : TLabel;
// Indy-Server-Thread
AThread : TIdPeerThread;
// <-- hier
// wichtige Elemente zum Empfangen der Datei
iFileSize : Cardinal;
...
protected
//
public
..
end;
nur wenn ich statt AThread: TIdPeerThread, AContext: TIdContext hineinschreibe bringt das nicht wirklich zum Erfolg.
wie kann ich das Umschreiben oder kennt jemand eine bessere Lösung mit dem selben Ergebnis?
Bitte fragen, falls etwas unverständlich ist