Hi
Bitte poste deinen Delphi Code doch in den dafür vorgesehenen Delphi Tags: [Delphi] MeinCode [/Delphi]
Nun aber zu deinem Problem:
1. Mit
Delphi-Quellcode:
with IdTCPClient do
begin
....
try
Requests(0); //hier wird gemeckert zuviele Parameter
Requests(1); //und der aufruf in der form ist sicher auch falsch
rufst du die Methode "Requests" des Threads auf, nicht die in TPackets deklarierte Prozedur. Da TMythreads.Requests keinen Parameter hat, kommt der Fehler. Ich kann ausserdem nicht ganz nachvollziehen, warum du sie eingebaut hast
2. Dein Thread hat anscheinend keine Eigenschaft oder Variable die "Packets" heißt oder du hast sie nicht dazugeschrieben. Du musst erst im Constructor von TMyThreads eine Instanz von TPackets erzeugen, z.B. mit
Delphi-Quellcode:
type
TMyThreads = class(TThread)
private
{ Private-Deklarationen }
FStep: Integer;
FPackets: TPackets;
...
constructor TMyThreads.Create(AOwner: TObject ....);
begin
...
FPackets := TPackets.Create(Self);
...
end;
3. Der Aufruf von Write() in TPackets.Requests wird einen E/A Fehler hervorrufen, es sei denn dein Programm wird eine Konsolenanwendung. Wenn du die Write-Methode der IdTCP Komponente aufrufen möchtest, würde es sich eher anbieten, dies direkt den Thread machen zu lassen. Ich hoffe das war nicht zu vage formuliert, bin nicht besonders gut darin
Wie mein Onkel damals zu mir sagte: "Dein Versuch hat etwas von einem Metzgerslehrling, der sich gleich am Tag seiner Einstellung eine komplizierte Herzoperation vornimmt"
Gruß,
Dani
Dani H.