AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Zuweisen unterschiedlicher Aufgabe für Threads
Thema durchsuchen
Ansicht
Themen-Optionen

Zuweisen unterschiedlicher Aufgabe für Threads

Ein Thema von endeffects · begonnen am 12. Jul 2004 · letzter Beitrag vom 13. Jul 2004
 
endeffects

Registriert seit: 27. Jun 2004
450 Beiträge
 
#1

Zuweisen unterschiedlicher Aufgabe für Threads

  Alt 12. Jul 2004, 22:26
hallo =),

ich arbeite zur zeit noch immer an einem programm das mit hilfe
von threads mehrere abläufe gleichzeitig erledigt.

diese threads arbeiten zur zeit leider immer nur ein und die selbe
aufgabe ab, dies könnte ich natürlich beim erzeugen der threads verhinden,
allerdings wäre dann die anzahl der aufgaben auf die anzahl der threads begrenzt.

ich möchte daher ein globales array erzeugen und einen zeiger
der immer auf das nächste element im array verweist,
damit die threads dieses array bis zum ende abarbeiten

nun hab ich mir folgenden code zusammen gebastelt,
der zwar keinen fehler erzeugt aber den zeiger auf das array
nicht erhöht

ersteinmal die unit für die threads:

Delphi-Quellcode:
unit Unit2;

interface

uses
  Classes, SysUtils, IdComponent, IdTCPConnection, IdTCPClient;

type
  TMyThreads = class(TThread)
  private
    procedure UpDateCounter;
    procedure LunchThread;
    ...
  public
    FCounter: Integer;
  ...

implementation

uses
  Unit1;

procedure TMyThreads.Execute;
begin
  FCounter:= FCounter+1;
  Synchronize(UpdateCounter);
  LunchThread;
end;
...

procedure TMyThreads.UpDateCounter;
begin
  MainForm.ArrayPointer := FCounter;
end;
und nun die unit 1

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Controls, Forms, StdCtrls, ComCtrls,
  Unit2, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IniFiles;

type
  TMainForm = class(TForm)
  ...
  public
    { Public-Deklarationen }
    ArrayPointer: Integer;
    procedure UpdateCounter(Counter: integer);
  ...

implementation

procedure TMainForm.UpdateCounter(Counter: integer);
begin
  ArrayPointer := Counter;
end;

hat jemand vielleicht ein vorschlag wie man soetwas besser lösen kann
bzw findet den fehler?

mfg
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz