AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Ein mir unverständliches Problem ist aufegtaucht.
Thema durchsuchen
Ansicht
Themen-Optionen

Ein mir unverständliches Problem ist aufegtaucht.

Ein Thema von bastischo · begonnen am 10. Mai 2006 · letzter Beitrag vom 10. Mai 2006
 
bastischo

Registriert seit: 12. Jan 2006
Ort: Planet Erde
40 Beiträge
 
Delphi 7 Personal
 
#1

Ein mir unverständliches Problem ist aufegtaucht.

  Alt 10. Mai 2006, 16:02
Ich weiß, dass der titel doof ist, aber ich aknnes nciht besser beschreiben.
Habe ein programm, in dem sich ein Ball über Die Form bewegen soll, indem er sihc immer wieder neu löscht und zeichnet.
Beim kompilieren hab cih noch keine Fehler, aber an den markierten stellen gibt es dann immer access violations.
Delphi-Quellcode:
unit UHA;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls;

type
  TBall = class
    x,y,r,vx,vy:integer;
    color:TColor;
    procedure init(aX,aY,aVX,aVY,aR:Integer;acolor:TColor);
    procedure move;
    end;

type
  TForm1 = class(TForm)
    Timer1: TTimer;
    PaintBox1: TPaintBox;
    procedure Timer1Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  Basketball:TBall;
implementation

{$R *.dfm}


procedure Tball.move;
begin
    Form1.PaintBox1.Canvas.Brush.Color:=clwhite;
    Form1.PaintBox1.Canvas.Pen.color:=clwhite;
    Form1.PaintBox1.Canvas.Ellipse(x-r,y-r,x+r,y+r); //<-- und hier.danach isses immer wieder hier bis ich neu starte
    x:=x+vx;
    y:=y+vy;
    Form1.PaintBox1.Canvas.brush.Color:=color;
    Form1.PaintBox1.Canvas.pen.color:=color;
    Form1.PaintBox1.Canvas.ellipse(x-r,y-r,x+r,y+r);
end;

procedure TBall.init(aX,aY,aVX,aVY,aR:Integer;acolor:TColor);
  begin
  Create;
  x:=aX;
  y:=aY;
  vx:=aVX;
  vy:=aVY;
  r:=aR;
  color:=acolor;
  end;



procedure TForm1.Timer1Timer(Sender: TObject);// Intervall=5
begin
Basketball.move;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Basketball.init(50,50,3,-4,10,RGB(255,255,0));
end; //<---HIER zuerst

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Basketball.Free;
end;


end.
Ich komm nun seit ein paar Stunden einfach nicht darauf, was falsch ist.
Bitte helft einem armen kleinen Jungen
  Mit Zitat antworten Zitat
 


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