AGB  ·  Datenschutz  ·  Impressum  







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

Thread in eigene Klasse einbinden?

Ein Thema von Edlmann · begonnen am 16. Dez 2010 · letzter Beitrag vom 16. Dez 2010
 
Edlmann

Registriert seit: 19. Nov 2010
212 Beiträge
 
#1

Thread in eigene Klasse einbinden?

  Alt 16. Dez 2010, 13:18
Guten Nachmittag liebe DP,

ich arbeite im Moment an einem Programm zur Wegfindung (zum späteren Bau eines simplen 2D-Spiels) und benutze hierfür den
AStar-Algorithmus. Das Funktioniert soweit auch schon ganz gut, allerdings habe ich bisher die Berechnung des Pfades in einen
Thread ausgelagert, den ich jetzt in eine eigene Klasse einbinden Möchte. Ich erzeuge den Thread mit folgendem Aufruf:

Delphi-Quellcode:
var
  ThreadParams: PThreadParams;
  ThreadID: Cardinal;
begin
  New(ThreadParams);
  ThreadParams.Handle := FormHnd;
  CloseHandle(BeginThread(nil, 0, @Thread, ThreadParams, 0, ThreadID));
Nun möchte ich meinen Thread (die Funktion Thread, die Hier verwendet wird und damit die Pfadfindung) in eine eigene Klasse einbinden.
Also dass ich etwas deklarieren kann vom Typ TPathFinder, um mehrere Pfadfindungen parallel laufen zu lassen. Soweit so gut, Problem dabei:
Sobald ich die Thread Funktion in meine eigene Klasse einbinde, meckert er dass er als Funktion eine Variable übergeben haben will.

Der Aufruf sieht dann wie folgt aus:

Delphi-Quellcode:
  New(ThreadParams);
  ThreadParams.Handle := FormHnd;
  CloseHandle(BeginThread(nil, 0, @MyPather.Thread, ThreadParams, 0, ThreadID));
Warum funktioniert dies nicht? Der Header der Funktion Thread sieht wie folgt aus:
function TPathFinder.Thread(p: PThreadParams): Integer; Danke im Vorraus, Edlmann.

Geändert von Edlmann (16. Dez 2010 um 14:33 Uhr)
  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 16:29 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