![]() |
programm bricht beim start ab
das programm soll einen ball erstellen, der sich über den bildschirm bewegt. mein problem ist jetzt, dass das programm immer abricht, wenn ich es starte.
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls; type TSpielfeld = class(TForm) Bild: TImage; Timer1: TTimer; procedure Timer1Timer(Sender: TObject); procedure FormCreate(Sender: TObject); end; TBall = class x,y,vx,vy,r : integer; farbe: tcolor; procedure bewegdich; procedure zeigdich; procedure init(fneu:tcolor; xneu,yneu,vxneu,vyneu,rneu:integer); private { Private declarations } public { Public declarations } end; var Spielfeld: TSpielfeld; Ball:TBall; x1,x2,y1,y2,t:integer; implementation procedure tball.init(fneu:tcolor;xneu,yneu,vxneu,vyneu,rneu:integer); begin farbe:=fneu; x:=xneu; y:=yneu; vx:=vxneu; vy:=vyneu; r:=rneu; end; procedure tball.zeigdich; begin Spielfeld.Bild.Canvas.Brush.Color:=farbe; Spielfeld.Bild.Canvas.Ellipse(x1,y1,x2,y2); end; procedure tball.bewegdich; begin x:=x+vx; y:=y+vy; x1:=x-r; x2:=x+r; y1:=y-r; y2:=y+r; end; procedure TSpielfeld.Timer1Timer(Sender: TObject); begin ball.zeigdich; ball.bewegdich; ball.zeigdich; end; procedure TSpielfeld.FormCreate(Sender: TObject); begin bild.Canvas.Brush.Color:=clwhite; bild.Canvas.Pen.Width:=2; bild.Canvas.Brush.Style:=bssolid; bild.Canvas.Pen.Mode:=pmNOTXOR; ball.init(clred,100,200,-4,3,20); ball.zeigdich; end; end. |
Re: programm bricht beim start ab
wird Dein Ball auch irgendwo erstellt.
z.B. ball := TBall.create? Könnte z.B. zum Programmabruch führen. Grüße Klaus |
Re: programm bricht beim start ab
ich hab irgendwo gelesen, dass ich am ende des progs
initialisation ball:=Tball.create; finalisation ball:destroy; einbinden muss, ich hab aber leide keine ahnung wie |
Re: programm bricht beim start ab
das kannst Du auch im
Form1.create (ball:=TBall.create) und im Form1.close (ball.free) machen. Im Prinzip mußt Du eine Instanz des Objects erstellen bevor Du es zum erstenmal benutzen willst. Freigeben solltest Du es wenn Du es nicht mehr benutzen willst. Grüße Klaus |
Re: programm bricht beim start ab
der feheler besteht trotzdem noch. als fehler anzeige bekomme ich
"Resource TSpielfeld not found" |
Re: programm bricht beim start ab
kannst Du mal Deine dpr Datei hier anhängen.
Grüße Klaus |
Re: programm bricht beim start ab
Liste der Anhänge anzeigen (Anzahl: 1)
hier is die dpr
|
Re: programm bricht beim start ab
Du hast eine eigene Formular.Klasse TSpielfeld deklariert. Der (geerbte) Konstruktor versucht nun die Werte der Eigenschaften aus der entsprechenden .dfm zu laden. Existieren die Persistenzdaten der Klasse in Unit.dfm?
|
Re: programm bricht beim start ab
Hallo,
beim Bearbeiten des Quelltextes hast du wohl die Zeile mit der Formulareinbindung gelöscht. Ändere den Teil hinter "implementation" mal so ab:
Delphi-Quellcode:
Gruß Hawkeye
implementation
{$R *.dfm} // <<-- diese Zeile fehlt bei dir! procedure tball.init(fneu:tcolor;xneu,yneu,vxneu,vyneu,rneu:integer); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:11 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 by Thomas Breitkreuz