![]() |
class oparator implicit funktioniert nicht (Bug??)
ich versteh das nicht, den String kann ich wunderbar zuweisen, aber nicht die Variable vom Typ TDateTime
Wieso ??? ist das ein Compilerbug oder mach ich was falsch ?
Delphi-Quellcode:
type
TIBZeit = record private Value : TDateTime; public class operator implicit(Zeit : TDateTime) : TIBZEit; class operator implicit(a : TIBZeit) : TDateTime; class operator implicit(a : TIBZEit) : String; end; implementation {$R *.dfm} class operator TIBZeit.implicit(Zeit : TDateTime) : TIBZeit; begin result.value := Zeit; end; class operator TIBZeit.implicit(a : TIBZeit) : TDateTime; begin result := a.Value; end; class operator TIBZeit.Implicit(a : TIBZeit) : String; begin result := DateTimeToStr(a.value); end; //============================================================================== procedure TForm1.Button1Click(Sender: TObject); var d : TDateTime; Zeit : TIBZEit; st : String; begin Zeit := now; st := Zeit; d := Zeit; /// geht nicht end; |
Re: class oparator implicit funktioniert nicht (Bug??)
hmm .. weiß das denn wirklich niemand ? ist doch ein ziemlich wichtiges Grundproblem ?
Habe ich irgendeinen Compilerschalter übersehen ? Versteh das nicht ! |
Re: class oparator implicit funktioniert nicht (Bug??)
Delphi-Quellcode:
Nun, ich kann jetz mal wieder total daneben liegen, aber
TIBZeit = record
private Value : TDateTime; public class operator implicit(Zeit : TDateTime) : TIBZEit; class operator implicit(a : TIBZeit) : TDateTime; class operator implicit(a : TIBZEit) : String; end; so wie ich das vor langer Zeit mal gelernt habe können records nur statische Feldtypen arbeiten. So in der Art:
Delphi-Quellcode:
Grüße
TIBTeit = record
value : TDateTime; end; Klaus |
Re: class oparator implicit funktioniert nicht (Bug??)
Zitat:
|
Re: class oparator implicit funktioniert nicht (Bug??)
Tja, cool oder verwirrend.
Da bleibe ich doch noch ein Weilchen bei Delphi6 ;o) Grüße Klaus |
Re: class oparator implicit funktioniert nicht (Bug??)
Zitat:
Zitat:
![]() Uli. |
Re: class oparator implicit funktioniert nicht (Bug??)
Ein wenig OT:
Da habe ich dann mal eine Frage wo ist denn dann der prinzipielle Unterschied zwischen records und Objects? Ist das ganze dann eher mir einer Class in Java zu vergleichen? Grüße Klaus |
Re: class oparator implicit funktioniert nicht (Bug??)
New-style records können nur statische Methoden haben, während objects weiterhin auch late-bound-Methoden haben können *glaub*
edit: Genauer: objects unterstützen Vererbung, records nicht |
Re: class oparator implicit funktioniert nicht (Bug??)
ähm... dass records funktionen haben können, wär mir neu, aber das sind doch hier operatoren! und das wurde ja extra eingeführt, dass man in recordtypen (afaik aber nicht in klassen sprich objekttypen) die operatoren benutzen kann.
warum das beispiel nicht funktioniert, kann ich aber ncihtr sagen. Im übrigen ist "funktioniert nicht" keine befriedigende fehlermeldung ;) Nervt der COmpiler? kommen falsche ergbnisse raus? oder was? |
Re: class oparator implicit funktioniert nicht (Bug??)
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:33 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