Thema: Delphi probleme mit threads

Einzelnen Beitrag anzeigen

Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#17

Re: probleme mit threads

  Alt 7. Jul 2004, 23:24
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.
  Mit Zitat antworten Zitat