Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Type TPonit kann kein wert zugeordnet werden warum? (https://www.delphipraxis.net/103570-type-tponit-kann-kein-wert-zugeordnet-werden-warum.html)

gandime 17. Nov 2007 18:55


Type TPonit kann kein wert zugeordnet werden warum?
 
Hi,
ich möchte bei einem type:
Delphi-Quellcode:
type
  TSumo = class
  private
    pt_posi,pt_speedi:TPoint;
  public
    constructor create;
    procedure mal_dich;
  published
    property pt_pos:TPoint read pt_posi write pt_posi;
    property pt_speed:TPoint read pt_speedi write pt_speedi;
end;
so einen Wert setzen:

Delphi-Quellcode:
constructor Tsumo.create;
begin
  self.pt_pos.x:=0;//Fehler beim compilen
  self.pt_pos.y:=0;
  self.pt_speed.x:=0;
  self.pt_speed.y:=0;
end;
Fehler:
Zitat:

[DCC Fehler] unt_types.pas(77): E2064 Der linken Seite kann nichts zugewiesen werden
warum geht das nicht was mache ich falsch?


mfg
gandime

Apollonius 17. Nov 2007 18:58

Re: Type TPonit kann kein wert zugeordnet werden warum?
 
Du kannst Teilen von Record-Propertys keine Werte zuweisen. Innerhalb der Klasse kannst du die Felder benutzen.

teebee 17. Nov 2007 19:10

Re: Type TPonit kann kein wert zugeordnet werden warum?
 
So geht es:
Delphi-Quellcode:
constructor Tsumo.create;
begin
  pt_pos := Point(0,0);
  pt_speed := Point(0,0);
end;

Thorben_Ko 17. Nov 2007 19:16

Re: Type TPonit kann kein wert zugeordnet werden warum?
 
Oder versuchst auf die Property zuzugreifen und wie Apollonius schon gesagt hat geht das nicht. Aber warum machst du den umweg über die Property? Greiff doch direkt auf die Variablen zu...

Delphi-Quellcode:
constructor Tsumo.create;
begin
  self.pt_posi.x:=0;// <- So geht das
  self.pt_posi.y:=0;
  self.pt_speedi.x:=0;
  self.pt_speedi.y:=0;
end;

Hawkeye219 17. Nov 2007 19:18

Re: Type TPonit kann kein wert zugeordnet werden warum?
 
Hallo,

als kleine Ergänzung für den Zugriff von außen: klick

Gruß Hawkeye

gandime 17. Nov 2007 19:26

Re: Type TPonit kann kein wert zugeordnet werden warum?
 
ok thx für die hilfe und noch eine abschliesende frage:
gibt es eine möglichkeit bei TPoint oder einer ähnlichen Komponente eine Kommazahl als Wert zu nutzen?

DeddyH 17. Nov 2007 21:13

Re: Type TPonit kann kein wert zugeordnet werden warum?
 
Zitat:

Zitat von gandime
gibt es eine möglichkeit bei TPoint oder einer ähnlichen Komponente eine Kommazahl als Wert zu nutzen?

Was meinst Du? Eine Art TPoint mit Float-Werten? Kannst Du Dir doch locker selber definieren.
Delphi-Quellcode:
type TFloatPoint = record
  X,Y: double;
end;

gandime 18. Nov 2007 12:40

Re: Type TPonit kann kein wert zugeordnet werden warum?
 
stimmt danke


Alle Zeitangaben in WEZ +1. Es ist jetzt 02: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