inc und dec lösen kein Property aus ?

Für Fehler in Lazarus, um diese von anderen verifizieren zu lassen.
pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

inc und dec lösen kein Property aus ?

Beitrag von pluto »

Hallo,
ich habe eine Eigenschaft so denfiert:

Code: Alles auswählen

published
    property ItemIndex:Integer read fItemIndex write SetItemIndex;
 
 
procedure TmyListBoxNew.SetItemIndex(const AValue: Integer);
begin
  if fItemIndex=AValue then exit;
  fItemIndex:=AValue;
  Draw;
  if Assigned(onItemIndex) then onItemIndex(True);
end;
Wenn ich jetzt dec(itemindex) oder inc(itemindex) mache, wird nachweislich setItemindex nicht aufgerufen !
warum ? soll das so, ist das ein Fehler/bug ? ist das unter Windows, Delphi auch so ?
oder verstehe ich nur wieder was falsch ?
MFG
Michael Springwald

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Normalerweise dürfte das gar nicht compiliert werden, da inc und dec doch nur auf variablen zugreifen können oder ?
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Ich wette unter Delphi würde es eine Fehler Meldung geben.

Unter Lazarus wird es einwandfrei kompeliert .

Sind Eigenschaften keine Variable ? Wenn ich das richtig sehe ist das gar nicht vorgesehen, das ich mit inc und dec auf Eigenschaften zugreifen kann ?

edit:
ich meine auch, unter Delphi gibt es eine Fehler Meldung, weil es nicht zugewiesen werden kann.
Evlt. ist das unter Lazarus ja ein neue Funktion ? die noch nicht 100 % ausgebaut wurde/ist !
MFG
Michael Springwald

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Beitrag von Euklid »

Interessante Feststellung...

Benutzeravatar
theo
Beiträge: 10927
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Stimmt. Da würd ich sagen: Compiler Bug.

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Hat das jetzt schon jemand mit Delphi gegengetestet ?
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Benutzeravatar
theo
Beiträge: 10927
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Christian hat geschrieben:Hat das jetzt schon jemand mit Delphi gegengetestet ?
Eigentlich überflüssig, denn es ist ein eindeutiger Bug.

Aber bitte sehr: Dieser Code in Kylix 3:

Code: Alles auswählen

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
     fItemIndex:integer;
  public
    { Public declarations }
    property ItemIndex: integer read fItemIndex write fItemIndex;
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.xfm}
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  inc(ItemIndex);
end;
compiliert nicht mit Meldung: "Left side cannot be assigned to"

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Beitrag von Euklid »

Pluto, mit welcher Version vom FPC hast du das denn probiert?
Möglicherweise taucht der Fehler bei der neuen 2.1.4 nicht mehr auf...

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Ich habs vorhin mit 2.3.1 und 2.1.5 probiert ist bei beiden vorhanden, soviel zum thema ich gehe von aus das er im 2.0.4 auch da ist.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Benutzeravatar
theo
Beiträge: 10927
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Christian hat geschrieben:Ich habs vorhin mit 2.3.1 und 2.1.5 probiert ist bei beiden vorhanden, soviel zum thema ich gehe von aus das er im 2.0.4 auch da ist.
Und wer meldet's?
Ich oder du oder Müller's Kuh? ;-)

Hat jemand einen ähnlichen Beitrag im Butgtracker gefunden? Ich nicht.

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

@Euklid
Gute Frage, mal eben nach schauen:
2.0.4
steht auf jedenfall bei /usr/lib/fpc/
MFG
Michael Springwald

Benutzeravatar
theo
Beiträge: 10927
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Hab's mal gemeldet:
http://www.freepascal.org/mantis/view.php?id=9202" onclick="window.open(this.href);return false;

Benutzeravatar
theo
Beiträge: 10927
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Christian hat geschrieben:Ich habs vorhin mit 2.3.1 und 2.1.5 probiert ist bei beiden vorhanden, soviel zum thema ich gehe von aus das er im 2.0.4 auch da ist.
Jonas Maebe meint es sei "gefixt" in 2.3.1.

http://www.freepascal.org/mantis/view.php?id=9202" onclick="window.open(this.href);return false;

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

ich glaube da sollte ich mal das FPC Verzeichnis updateten *G*
MFG
Michael Springwald

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Ich wohl auch kann ja sein das meine 2.3.1 noch aufm stand vor dem fix ist ich update den fpc nicht sooo oft nur alle 3 monate oder so
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Antworten