AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Thread & normale Objektklasse

Ein Thema von Steffen · begonnen am 26. Mär 2003 · letzter Beitrag vom 27. Mär 2003
Antwort Antwort
Steffen

Registriert seit: 19. Mär 2003
Ort: Hamburg
111 Beiträge
 
Delphi 7 Enterprise
 
#1

Thread & normale Objektklasse

  Alt 26. Mär 2003, 14:25
Hallo!

Ich habe folgendes Problem:

Ich habe mir folgende Klasse gebastelt...
Delphi-Quellcode:
  type
    CPopulation = class
                    Dateiname : String[255]; // Dateiname zum eventuellen speichern
                    Bezeichnung : String[128]; // Populationstitel
                    StartColor : TColor; // Anfangsfarbwert einer lebenden Zelle
                    StartSize : TSpielfeld; // Anfangsspielfeldgrösse (in Feldern)
                    MaxTime : Cardinal; // Maximale Simulationszyklen (0 = unendlich)
                    Generation : Cardinal; // Aktueller Geneationszyklus

                    Constructor Initalisieren; // Entnimmt Werte aus Klssenvariablen und initalistert
                    Destructor Destroy; override;// Löst die aktuelle Population auf

                    Procedure CreateBattleField; // Erzeugt Spielfeldelemente
                    Procedure DeleteBattleField; // Löste die Spielfeldliste auf
                    Procedure MakeOlder; // Berechnung für einen Zyklus
                    Function GetItem(const Koordinaten : TSpielfeld) : TData; // Liefert die Daten einer Zelle zurück
                    Function GetBattleFieldSize : TSpielfeld; // Liefert die Spielfeldmaße
                    Procedure ChangeItem(const Koordinaten : TSpielfeld); // Ändert einen Zellenstatus
                    Procedure DropItem(const Koordinaten : TSpielfeld); // Setzt einen Zellenstatus auf "belebt" / Age = 1
                    Procedure DelItem(const Koordinaten : TSpielfeld); // Setzt einen Zellensttus auf "unbelebt"
                    Procedure Speichern; // Speichert die aktuelle Population
                  end;
Nun habe ich das Problem, dass die Prozedur "MakeOlder" ziehmlich rechenintensiv ist...

Ich hatte daran gedacht meine Klasse irgendwie mit einem Thread-Objekt zu verbinden, oder zumindest die Prozedur in einem eigenen Thread ablaufen zu lassen...

Wenn ich nun meine Klasse einfach als Nachfahre von "TThread" deklariere bekommen ich logischer weise Fehler...

Hat jemand eine gute Idee, wie ich das Problem lösen kann?
Es wäre, neben bei gesagt, das schönste, wenn jede dieser Methoden in einem eigenen Thread ablaufen würde... (muss aber nicht)

Gruss,
Steffen
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#2
  Alt 27. Mär 2003, 12:27
Neben der Benutzung von TThread gibt es auch noch die Möglichkeit, Threads direkt durch die WinAPI zu erstellen. Auf http://www.delphi-source.de gibts ein Tutorial dazu.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#3

Re: Thread & normale Objektklasse

  Alt 27. Mär 2003, 13:36
Zitat von Steffen:
Constructor Initalisieren;
Bist du dir da sicher, dass du nicht Create verwenden willst?
  Mit Zitat antworten Zitat
Steffen

Registriert seit: 19. Mär 2003
Ort: Hamburg
111 Beiträge
 
Delphi 7 Enterprise
 
#4
  Alt 27. Mär 2003, 14:09
...Create ist wohl besser...!

bin ich gar nicht drüber gestolpert!

Thx!
  Mit Zitat antworten Zitat
Antwort Antwort


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 19: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