![]() |
Eigene Klasse mit Timer und IMage
Also ich möchte eine klasse schreiben, die sozusagen ein spielfeld ist (dafür verwende ich ein timage). da ich in die klasse einen timer mit eingebaut hab rendert der alle paar sekunden das spielfeld neu nur weis ich nciht wie ich das image in die klasse TSpielfeld reinkriege und sie dann auf dem form anzeigen kann, oder muss ich das irgendwie mit vererbung von timage machen steig da nciht so durch...
|
Re: Eigene Klasse mit Timer und IMage
Möglich ist beides
Vererben geht, ebenso wie "Inneres" Image ich würde jedoch Vererben, um so lässtige arbeit zuvermeiden. |
Re: Eigene Klasse mit Timer und IMage
jah da hab ich jetzt aber nen kleines problem, wahrscheinlich recht einfach, aber ich kann mit der warnung ncihts anfangen die er mir gibt:
Zitat:
Delphi-Quellcode:
und der code der unit spielfeld:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, Spielfeld; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; Spielfeld: TSpielfeld; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin Spielfeld:=TSpielfeld.Create; Spielfeld.Width:=300; spielfeld.Height:=300; spielfeld.Left:=10; spielfeld.Top:=10; spielfeld.Canvas.Ellipse(0,0,20,20); end; end.
Delphi-Quellcode:
unit Spielfeld;
interface uses ExtCtrls; type TSpielfeld = class(TImage) procedure SpielfeldRender(Sender: TObject); private FTimer: TTimer; public constructor Create; destructor Destroy; override; end; implementation constructor TSpielfeld.Create; begin inherited; FTimer := TTimer.Create(nil); FTimer.Interval := 500; // alle 500 Millisekunden was tun FTimer.OnTimer := SpielfeldRender; end; destructor TSpielfeld.Destroy; begin FTimer.Free; inherited; end; procedure TSpielfeld.SpielfeldRender(Sender: TObject); begin // Hier deinen Code ausführen. end; end. |
Re: Eigene Klasse mit Timer und IMage
Du musst das Create des Spielfeldes auch überschreiben (override) und nicht nur benutzten ;)
Also mach das gleiche, wie bei "Destroy": Schreibe hinter dem constructor Create; ein override; ;) Dann hat sich das mit der Warnung :thumb: [edit]Vielleicht interessant: ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz