AGB  ·  Datenschutz  ·  Impressum  







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

programm bricht beim start ab

Ein Thema von nobody_anfänger · begonnen am 30. Apr 2006 · letzter Beitrag vom 30. Apr 2006
Antwort Antwort
nobody_anfänger

Registriert seit: 4. Mär 2006
9 Beiträge
 
#1

programm bricht beim start ab

  Alt 30. Apr 2006, 16:15
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.
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.757 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: programm bricht beim start ab

  Alt 30. Apr 2006, 16:21
wird Dein Ball auch irgendwo erstellt.
z.B. ball := TBall.create?

Könnte z.B. zum Programmabruch führen.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
nobody_anfänger

Registriert seit: 4. Mär 2006
9 Beiträge
 
#3

Re: programm bricht beim start ab

  Alt 30. Apr 2006, 16:25
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
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.757 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: programm bricht beim start ab

  Alt 30. Apr 2006, 16:31
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
Klaus
  Mit Zitat antworten Zitat
nobody_anfänger

Registriert seit: 4. Mär 2006
9 Beiträge
 
#5

Re: programm bricht beim start ab

  Alt 30. Apr 2006, 16:35
der feheler besteht trotzdem noch. als fehler anzeige bekomme ich
"Resource TSpielfeld not found"
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.757 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: programm bricht beim start ab

  Alt 30. Apr 2006, 16:38
kannst Du mal Deine dpr Datei hier anhängen.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
nobody_anfänger

Registriert seit: 4. Mär 2006
9 Beiträge
 
#7

Re: programm bricht beim start ab

  Alt 30. Apr 2006, 16:40
hier is die dpr
Angehängte Dateien
Dateityp: dpr project1_107.dpr (200 Bytes, 7x aufgerufen)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: programm bricht beim start ab

  Alt 30. Apr 2006, 16:40
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?
Markus Kinzler
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#9

Re: programm bricht beim start ab

  Alt 30. Apr 2006, 16:43
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:
implementation

{$R *.dfm}  // <<-- diese Zeile fehlt bei dir!

procedure tball.init(fneu:tcolor;xneu,yneu,vxneu,vyneu,rneu:integer);
Gruß Hawkeye
  Mit Zitat antworten Zitat
Antwort Antwort


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 06:19 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