Absturz Stringgrid

Rund um die LCL und andere Komponenten
Antworten
Vbxler
Beiträge: 135
Registriert: Sa 25. Mai 2013, 07:43
OS, Lazarus, FPC: Win7_x64 (FPC:4.7.1)
CPU-Target: 32Bit

Absturz Stringgrid

Beitrag von Vbxler »

Wenn ich bei einem StringGrid1 die Option so setze:

Code: Alles auswählen

StringGrid1.goColSizing := True; 
StringGrid1.AllowOutboundEvents := false; 
dann stürtzt das Programm, beim Versuch die letzte Spalte zu verbreitern, ab.
StringGrid1Test.png
Wird //StringGrid1.AllowOutboundEvents := false; auskomentiert, dann gibt es keinen Absturz,
aber dann wird, wenn der User ausserhalb des Stinggrid klickt,
die nähestliegende Zelle angeklickt und das kann ich nicht gebrauchen.

Was mache ich da falsch??
Dateianhänge
StringGrid1Test.zip
(848.32 KiB) 102-mal heruntergeladen
Vbxler
-------------------------

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2905
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Absturz Stringgrid

Beitrag von m.fuchs »

Du meinst sicher:

Code: Alles auswählen

StringGrid1.Options := StringGrid1.Options + [goColSizing];
StringGrid1.AllowOutboundEvents := false;
Welche Lazarusversion benutzt du? Unter 1.2.0/x32(Win7) habe ich keine Probleme.
0118999881999119725-3

Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Vbxler
Beiträge: 135
Registriert: Sa 25. Mai 2013, 07:43
OS, Lazarus, FPC: Win7_x64 (FPC:4.7.1)
CPU-Target: 32Bit

Re: Absturz Stringgrid

Beitrag von Vbxler »

Ich verwende Lazarus 1.2.2(32Bit) habe die aktuelle Version nochmals runter geladen,
auf einem anderen Rechner neu installiert und es zeigt sich der selbe Fehler.

Der Fehler tritt vermutlich in der grids.pas auf:
2014-05-09 12.51.33.jpg
2014-05-09 12.51.20.jpg
Vbxler
-------------------------

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

Re: Absturz Stringgrid

Beitrag von theo »

Hab ich auch, aber nur wenn man es langsam macht, bzw. den Mousecursor kurz stehen lässt vor dem ziehen. (DragDrop?)
Bei mir hilft einfach rausspringen bei -1 in StartColSizing in grids.pas

Code: Alles auswählen

  with FSizing do begin
 
    OrgIndex := FGCache.ClickCell.X;
    if OrgIndex<0 then exit;   
Keine Ahnung über Folgefehler. Musst du selber schauen.

Vbxler
Beiträge: 135
Registriert: Sa 25. Mai 2013, 07:43
OS, Lazarus, FPC: Win7_x64 (FPC:4.7.1)
CPU-Target: 32Bit

Re: Absturz Stringgrid

Beitrag von Vbxler »

Mit 'if OrgIndex<0 then exit;' funktioniert es, aber diese Anweisung
müsste in die Original grids.pas Datei eingefügt werden,
sonst ist mit dem nächsten Update der Fehler wieder da.
Vbxler
-------------------------

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

Re: Absturz Stringgrid

Beitrag von theo »

Vbxler hat geschrieben:Mit 'if OrgIndex<0 then exit;' funktioniert es, aber diese Anweisung
müsste in die Original grids.pas Datei eingefügt werden,
sonst ist mit dem nächsten Update der Fehler wieder da.
Genau, deshalb kannst du einen Bugreport machen (http://bugs.freepascal.org) und sendest den Patch mit (http://wiki.lazarus.freepascal.org/Creating_A_Patch/de).

Vbxler
Beiträge: 135
Registriert: Sa 25. Mai 2013, 07:43
OS, Lazarus, FPC: Win7_x64 (FPC:4.7.1)
CPU-Target: 32Bit

Re: Absturz Stringgrid

Beitrag von Vbxler »

Schon erledigt,

Danke!
Vbxler
-------------------------

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

Re: Absturz Stringgrid

Beitrag von theo »

Vbxler hat geschrieben:Schon erledigt,
Für den Anfang nicht schlecht. :wink:
Nächstes mal wäre ein Patch ganz schön.

Und der Crash ist nicht in
Index := OrgIndex;
sondern in der nächsten Zeile:
ColRowToOffset(true, true, Index, OffIni, OffEnd);

Aber egal, Jesus Reyes hat den Bugreport schon "geschluckt". :D
http://bugs.freepascal.org/view.php?id=26138

Antworten