Zitat von
SquareEnix:
@sx2008
Ich weiß auch nicht warum ich TRobot überhaupt abgeleitet habe, denn es verwendent keine der Attribute oder Methoden von TDatabase... Ich glaube ich werde es extrahieren und eigenständig machen.
Delphi-Quellcode:
{...}
type
TRobot = class(TDatabase)
{...}
end;
procedure Register;
var Position:Array[1..2] of integer;
Winkel_1,Speed:double;
Ziel: TRobot;
Also, erstens würde ich einfach das TDatabase durch TObject ersetzen.
Du verwendest globale Variablen, um deine Daten aus der Methode Initialisieren zu speichern. Mache aus diesen Variablen (private) Felder von TRobot. Im Moment verwendet jede Instanz die gleichen Variablen, um die Werte zu speichern.
Delphi-Quellcode:
type
TRobot = class(TObject)
private
FPosition: Array[1..2] of Integer;
FWinkel_l: double;
FSpeed: double;
public
procedure Initialisieren(...);
end;
Hier "besitzt" jeder Roboter sein eigenes Variablenset, welches nur er verwenden kann. Um von aussen hierauf zugreifen zu können, verwende am besten Properties, hierbei kannst du dann eingreifen, wenn jemand den Wert lesen oder schreiben will.