So, jetzt habe ich 'inline' in procedure TListChartSource.Clear; auskommentiert und "Clean up and Build.." gemacht und danach ist der Fehler nicht mehr reproduzierbar. Wenn ich inline wieder eintrage auch nicht. Es ist einfach weg und auch mit anderen Quellcodes nicht mehr reproduzierbar.
@sstvmaster: Kannst du ohne vorher etwas zu verändern mal "Clean up and Build.." ausführen und schauen, ob auch bei dir dann alles OK ist?
Gruß HE
SIGSEGV beim Clear einer TLineSerie in TACharts (erledigt)
- h-elsner
- Lazarusforum e. V.
- Beiträge: 282
- Registriert: Di 24. Jul 2012, 15:42
- OS, Lazarus, FPC: LINUX Mint21.1, Win10, Lazarus 2.2.4, FPC3.2.2
- CPU-Target: X86-64; arm 32bit
- Wohnort: Illertissen
- Kontaktdaten:
Re: SIGSEGV beim Clear einer TLineSerie in TACharts (erledigt)
Dies funktioniert. Wenn ich aber die alte procedure wieder herstelle, geht diese dann auch.wp_xyz hat geschrieben: Do 2. Sep 2021, 19:17 Könntest du das mal auch in TListChartSource.Clear einbauen?Code: Alles auswählen
procedure TListChartSource.Clear; inline; var i: Integer; begin for i := FData.Count - 1 downto 0 do begin Dispose(Item[i]); FData.Delete(i); end; { for i := 0 to FData.Count - 1 do Dispose(Item[i]); } //FData.Clear; // Kann eigentlich jetzt entfallen, da die Liste nun leer ist. ClearCaches; Notify; end;

Ich probiere jetzt mal beide Prozeduren mit vorhergehender Lazarus Komplettinstallation.
Gruß HE
Gruß HE
Re: SIGSEGV beim Clear einer TLineSerie in TACharts (erledigt)
OK, das schlägt in dieselbe Kerbe wie die vorige Beobachtung: Durch die Änderung im Quelltext wird wegen -gw2 eine Neukompilierung von TAChart erzwungen, und damit ist das Problem verschwunden.
Hätte man auch gleich drauf kommen können... Denn mit dem sauberen Neukompilieren des Projekts, Packages oder schlimmstenfalls der IDE lassen sich viele "seltsame" Probleme beheben.
Hätte man auch gleich drauf kommen können... Denn mit dem sauberen Neukompilieren des Projekts, Packages oder schlimmstenfalls der IDE lassen sich viele "seltsame" Probleme beheben.
- h-elsner
- Lazarusforum e. V.
- Beiträge: 282
- Registriert: Di 24. Jul 2012, 15:42
- OS, Lazarus, FPC: LINUX Mint21.1, Win10, Lazarus 2.2.4, FPC3.2.2
- CPU-Target: X86-64; arm 32bit
- Wohnort: Illertissen
- Kontaktdaten:
Re: SIGSEGV beim Clear einer TLineSerie in TACharts (erledigt)
Ja, genauso ist es. Wenn ich komplett neu installiere, dann die Prozedur austausche, geht alles und es geht danach auch mit der Originalprozedur. Scheinbar holt man sich irgend etwas Vorkompiliertes rein, welches nicht passt.
Wieder was gelernt. Gut dass es den Menüpunkt "Alles neu macht Mai" gibt. Wie blöde, ich hatte früher schon mal seltsame Probleme mit meinen Programmen, wo das löschen des Unterverzeichnisses 'lib' im Projektordner geholfen hat.
Viele Grüße, HE
Wieder was gelernt. Gut dass es den Menüpunkt "Alles neu macht Mai" gibt. Wie blöde, ich hatte früher schon mal seltsame Probleme mit meinen Programmen, wo das löschen des Unterverzeichnisses 'lib' im Projektordner geholfen hat.
Viele Grüße, HE