Autor Beitrag
fux
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mo 27.01.03 18:37 
Huhu, ich bekomme beim Versuch die Y Position eines TSprites bei DelphiX mit einem Editfeld auszugeben....

ausblenden Quelltext
1:
edit1.text := TSprite.Y					

Zitat:
[Fehler] Unit1.pas(180): Inkompatible Typen: 'String' und 'Double'


Ja, klar, also machen wir doch einfach
ausblenden Quelltext
1:
edit1.text := floattostr(TSprite.Y)					


pah, denkste :cry:
dann kommt nämlich sowas:
Zitat:
Im Projekt Project1.exe ist eine Exception der Klasse EAcessViolation aufgetreten. Bei Adresse blabla, Lesen von Adresse blubb. Prozeß wurde angehalten


Thx 4 Help, Ciao
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: Mo 27.01.03 21:31 
fux hat folgendes geschrieben:


ausblenden Quelltext
1:
edit1.text := floattostr(TSprite.Y)					




Hallo,
sieht n bissel komisch aus TSprite ist normalerweise die Klasse, eine Instanz wäre z.B. Sprite1, und wenn eine Instanz exitiert sollte
edit1.text := floattostr(Sprite1.Y) schon funktionieren.
oder wie vergibst du die Namen?

Mfg Frank

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
fux Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Di 28.01.03 08:52 
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
TPong = class(TImageSprite)
  public
    procedure DoMove(MoveCount: Integer); override;
    constructor Create(AParent: TSprite); override;
    procedure DoCollision(Sprite: TSprite; var Done: Boolean); override;
  end;

ausblenden Quelltext
1:
var   pong: TPong;					



Und dann eben Pong.Y ... das müsste doch eigentlich gehen, da ich ihm auch einen Startwert über Y zu teilen konnte...

ausblenden Quelltext
1:
2:
3:
4:
5:
  with TPong.Create(DXSpriteEngine1.Engine) do  
  begin
    X := DXDraw1.Width / 2 - 5;
    Y := DXDraw1.Height / 2 - 5;
  end;
Sivar
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 40



BeitragVerfasst: Di 28.01.03 09:10 
Du musst schon eine Instanzt erzeugen - wie Keldorn schon geschrieben hat.

Pong wird in deinem Beispiel garnicht verwendet!!

Versuchs mal mit

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
var   
  Pong: TPong;
  .
  .
  .
begin
  Pong := TPong.Create(DXSpriteEngine1.Engine);
  with Pong do
  begin 
    X := DXDraw1.Width / 2 - 5; 
    Y := DXDraw1.Height / 2 - 5; 
  end;
  .
  .
  .


Gruß
Sivar