Hallo.
Ich habe ein Problem mit TDxTimer von DelphiX. Ich bin dabei, alle visuellen Komponenten dynamisch in den Code zu verlagern, um meine Projekte mit TurboExplorer lauffähig zu machen. Bei TDxTimer habe ich jedoch Probleme. Irgendwie funktioniert mein Spiel nicht mehr, wenn ich den DX-Timer dynamisch generiere.
Das funktioniert (Timer ist auf Form noch vorhanden):
Code:
type ...TDxForm...
published
dxtimer: TDxTimer;
...
procedure TMainForm.FormCreate(...);
begin
// dxtimer := tdxtimer.create(self);
dxtimer.interval ...
dxtimer.enabled ...
dxtimer.ontimer ...
end;
Das funktioniert plötzlich nicht mehr! (Timer ist noch auf Form, wird aber nochmal created)
Code:
type ...TDxForm...
published
dxtimer: TDxTimer;
...
procedure TMainForm.FormCreate(...);
begin
dxtimer := tdxtimer.create(self);
dxtimer.interval ...
dxtimer.enabled ...
dxtimer.ontimer ...
end;
Das funktioniert auch nicht. (Timer ist nun komplett weg vom Form)
Code:
type ...TDxForm...
public
dxtimer: TDxTimer;
...
procedure TMainForm.FormCreate(...);
begin
dxtimer := tdxtimer.create(self);
dxtimer.interval ...
dxtimer.enabled ...
dxtimer.ontimer ...
end;
Der Fehler tritt bei 2 Projekten auf und ich finde einfach den Fehler nicht. Ich habe schon create(self), create(nil) und create(application) ausprobiert und in Google finde ich nicht, dass es damit Probleme gibt.
Das Problem ist, dass DxDraw beim Spielstart dunkel bleibt und erst viel später ein Bild zeigt (sofern überhaupt). Dann funktioniert aber auch nicht DxInput usw -> eindeutiges Problem im Timer, das Spiel ist eingefroren.
Weiß jemand, was falsch sein kann?
Gruß
blackdrake