AVL_Tree

Für Fehler in Lazarus, um diese von anderen verifizieren zu lassen.
Antworten
Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6200
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

AVL_Tree

Beitrag von af0815 »

Code: Alles auswählen

fpspreadsheet: Replace usage of AVL_Tree by avglvltree to avoid conflicts of fpc and laz AVL_Tree versions in Laz trunk after r54524


Habe ich da was versäumt ? Ich habe beim recompilieren Probleme. KOMMEN NICHT VOM fpspreadSheet, nur habe ich da mit der Message einen Hinweis bekommen, das sich was geändert hat.

Weis wer, was ?

Andreas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: AVL_Tree

Beitrag von wp_xyz »

Ja, das war eine - meiner Meinung nach - etwas unglückliche Aktion, diverse mehrfach implementierte Container-Klassen zu vereinfachen. Im Zuge dessen wurde die Unit AVL_Tree als Laz_AVL_Tree nach Lazarus kopiert, und Teile aus avglvltree wurden ebenfalls nach Laz_AVL_Tree übernommen. Ansonsten sollte avglvltree entfernt werden. Das hatte zur Folge, dass fpspreadsheet nicht mehr kompilierte. Auch nach Wiederherstellen von avglvltree gab es noch Probleme, weil das neue avglvltree nun die neue Unit Laz_AVL_Tree verwendet, die dieselben Klassen implementiert wie das alte AVL_Tree, das aber noch bei fpspreadsheet in diversen "uses"-Zeilen stand. Heilloses Chaos! Momentan verwendet fpspreadsheet nur noch avglvltree, das dieselben Klassen wie AVL_Tree zur Verfügung stellt, nur unter anderem Namen. Das hat den Vorteil, dass fpspreadsheet weiterhin viele ältere Lazarus-Versionen unterstützt. Sollte irgendwann avlglvltree verschwinden, werde ich wahrscheinlich diese Unit als fpsavglvltree ins Package mit aufnehmen, so dass diese Möglichkeit weiterhin besteht.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6200
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: AVL_Tree

Beitrag von af0815 »

Ok, da gibt es auch noch andere Seiteneffekte. :shock:

Mit eine aktuellen trunk Lazarus gehts, mit ein wenig älteren Trunk bekommt man folgendes.

Code: Alles auswählen

 $004B99E3  TAVLTREE__ROTATERIGHT,  line 993 of laz_avl_tree.pp
  $004B8FB3  TAVLTREE__BALANCEAFTERINSERT,  line 606 of laz_avl_tree.pp
  $004B8841  TAVLTREE__ADD,  line 330 of laz_avl_tree.pp
  $004B871E  TAVLTREE__ADD,  line 249 of laz_avl_tree.pp
  $00722E33  TMESSAGELINES__ADD,  line 1719 of ideexterntoolintf.pas
  $007223DE  TEXTTOOLPARSER__ADDMSGLINE,  line 1496 of ideexterntoolintf.pas
  $00B458CF  TIDEFPCPARSER__ADDMSGLINE,  line 2991 of etfpcmsgparser.pas
  $00B40E65  TIDEFPCPARSER__CHECKFORGENERALMESSAGE,  line 1913 of etfpcmsgparser.pas
  $00B45667  TIDEFPCPARSER__READLINE,  line 2949 of etfpcmsgparser.pas
  $00749E32  TEXTERNALTOOL__ADDOUTPUTLINES,  line 458 of exttools.pas
  $0074DCB0  TEXTERNALTOOLTHREAD__EXECUTE,  line 1913 of exttools.pas
  $004920E5
  $00414891
  $74028744
  $773D587D
  $773D584D
 
Kompiliere Package LazControls 1.0.1: Access violation
  $004B99E3
  $004B8FB3
  $004B8841
  $004B871E
  $00722E33
  $007223DE
  $00B458CF
  $00B40E65
  $00B45667
  $00749E32
  $0074DCB0
  $004920E5
  $00414891
  $74028744
  $773D587D
  $773D584D
, Fehler: 17
Panic: interner Fehler: Access violation
Panic: interner Fehler:   $004B99E3
Panic: interner Fehler:   $004B8FB3
Panic: interner Fehler:   $004B8841
Panic: interner Fehler:   $004B871E
Panic: interner Fehler:   $00722E33
Panic: interner Fehler:   $007223DE
Panic: interner Fehler:   $00B458CF
Panic: interner Fehler:   $00B40E65
Panic: interner Fehler:   $00B45667
Panic: interner Fehler:   $00749E32
Panic: interner Fehler:   $0074DCB0
Panic: interner Fehler:   $004920E5
Panic: interner Fehler:   $00414891
Panic: interner Fehler:   $74028744
Panic: interner Fehler:   $773D587D
Panic: interner Fehler:   $773D584D
Kompiliere Package SynEdit 1.0: Abgebrochen
 
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: AVL_Tree

Beitrag von wp_xyz »

Ja, es hat sich einige Tage hingezogen, bis alles wieder ging. Zeitweise gab es einen Stacküberlauf beim Neukompilieren der IDE. BGRABitmap hatte auch eine Macke, ich hab nicht geprüft, ob das jetzt wieder geht -- nicht mein Projekt...

r54545 ist m.E. die letzte Revision, in der AVL_Tree erwähnt ist, danach sollte alles wieder gehen (ich selbst verwende aktuell die letzte Version vor der Umstellung, gebranntes Kind...)

P.S.
Hab mich gerade an die aktuelle Revision gewagt (r54603) --> kein Problem

Antworten