![]() |
Inkompatible Typen :-( warum?
Delphi-Quellcode:
Irgendwie stehe ich auf den Schlauch :wall:
type
TWoche = class private { Private-Deklarationen } FDatum : DateTime; FWeek : integer; function Get_Datum(Value: DateTime): DateTime; function GetWeekofYear(FDatum: DateTime):Integer; public constructor Create; property Datum: DateTime read FDatum write Get_Datum; property Week : integer read FWeek write GetWeekofYear; end; implementation constructor TWoche.Create; begin inherited Create; FDatum:= DateTime.get_Now ; end; function TWoche.GetWeekofYear(FDatum: DateTime):Integer; begin end; function TWoche.get_Datum(Value: DateTime):DateTime; begin If Value <> FDatum then Result:= DateTime.Now; end; raik |
Re: Inkompatible Typen :-( warum?
Mööönsch Raik....
Soll mir extra einen Kaffeee aufsetzen nur um im Satz einen Sinn hinter deiner Fehlerbeschreibung und dem esoterischen Code zu finden? :roll: |
Re: Inkompatible Typen :-( warum?
hallo Robert,
den setze ich dir auf!!!! wollte einfach was probieren und habe bei beiden property's diese fehlermeldung, und das begreife ich nicht. raik |
Re: Inkompatible Typen :-( warum?
Hallo, ist wirklich nicht einfach da rauszufinden, was Du willst.
Ich habe mir aber Deinen Code trotzdem mal angesehen und ich denke, dass ich weiss wo dein Problem liegt.
Delphi-Quellcode:
Ich denke mal, es liegt daran, dass Deiner Funktion GetWeekofYear ein DateTime übergeben wird und Du ein Integer zurückbekommst und das ganze ist an das Property gebunden. Ein Property kann aber nur von einem Typ sein, entweder DataTime oder Integer. So wird das denke ich nicht funktionieren.
function GetWeekofYear(FDatum: DateTime):Integer;
property Week : integer read FWeek write GetWeekofYear; Wie es unter .NET aussieht weiss ich jetzt nicht, aber ich würde sagen, dass es da auch nicht geht. Grüße Sven |
Re: Inkompatible Typen :-( warum?
DateTime ist ein Struct ( Hehe @ Robert_G ), auch genannt Record!
Ich weiss zwar nicht genau was du machen willst, aber warum willst du jedesmal die Daten zwischenlagern? Edit: Vergiss das was ich geschrieben habe, das oben stimmt aber! |
Re: Inkompatible Typen :-( warum?
Hallo raik,
ich habe keine Ahnung von .Net - trotzdem erschütterst du mein Weltbild. Was ist aus der guten alten Sitte geworden Getter als Funktionen ohne Parameter und Setter als Prozedur mit einem Parameter zu deklarieren, der vom Typ der property sein muss? Grüße vom marabu |
Re: Inkompatible Typen :-( warum?
so jetzt habt ihr mich ganz raus gebracht :mrgreen:
jetzt habe ich was anderes gemacht und zwar so
Delphi-Quellcode:
egal ob das einen sinn ergibt, es kommt immer noch der selbe fehler.
private
Fx : Integer; function GetTest:Integer; public constructor Create; property Week : integer read Fx write GetTest; // hier kommt immer E2008 Inkompatible Typen end; implementation constructor TWoche.Create; begin inherited Create; week:= getTest; end; function TWoche.GetTest :Integer; begin result:=0; end; sorry Marabu, das ich dein Weltbild erschüttert habe :mrgreen: |
Re: Inkompatible Typen :-( warum?
Öhm du solltest in einer SET -Methode schon auch was mit der private Variable machen oder?
Delphi-Quellcode:
function TWoche.GetTest(anInt : integer) :Integer;
begin Fx := anInt; end Und vor allem wieso ist deine Get/Set (der name ist verwirrend) - Methode private? [Edit] Okay, dass kann ich ja noch nachvollziehen... [edit] Greetz Sergej |
Re: Inkompatible Typen :-( warum?
Hi,
ich glaube das Problem ist ein ganz anderes. ;) Du verwendest eine Funktion, die einen Integerwert zurückliefert als Setter/Write-Methode. Das ist irgendwie nicht ganz richtig. Du müsstest deine GetWeek-Methode als Getter definieren... Chris |
Re: Inkompatible Typen :-( warum?
Hi Chris, das habe ich raik vor einer halben Stunde auch gesagt, aber das will er wohl nicht hören...
marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:27 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 by Thomas Breitkreuz