Verunsicherung mit Lazarus

Für Fragen rund um die Ide und zum Debugger
Vbxler
Beiträge: 129
Registriert: Sa 25. Mai 2013, 07:43
OS, Lazarus, FPC: Win7_x64 (FPC:4.7.1)
CPU-Target: 32Bit

Verunsicherung mit Lazarus

Beitrag von Vbxler »

Ich bin derzeit sehr verunsichert mit Lazarus & FPC.

Das derzeitige Projekt ist ein wenig größer (ca 12 Dialoge und in Summe > 10000 Zeilen Code).
Alles lief bisher ohne Probleme, dass Projet wird ohne Fehler übersetzt und ich konnte es starten
und es verhält sich auch wie erwartet.
Wenn ich jetzt aber ein neues Stringrid mit 4 Spalten einfüge und die erste Spalte
mit der Breite = 0 angebe, dann wird das Projekt zwar ohne Fehler comilieren, aber beim Start
des Programms wird der Hauptdialog nicht mehr angezeigt und die CPU wird stark belastet.
Das Programm muss über den Tastkmanager beendet werden. Es gibt keine Ereignis des neuen Stringgrid.
Wenn ich die Spaltenbreite aus = 1 setzte, wird das Projekt wieder ohne Fehler comiliert
und funktioniert wieder wie es sollte.

Ich habe ein weiteres Stringrid auf dem Dialog, bei dem ebenfalls die erste Spalte = 0 ist
und hier funktioniert das ohne Probleme.


Warum??

Hat das von euch schon mal einer gehabt?

Code: Alles auswählen

      object sgRng_Artikel: TStringGrid
        Left = 288
        Height = 24
        Top = 630
        Width = 256
        Anchors = [akTop, akLeft, akBottom]
        ColCount = 4
        Columns = <        
          item
            Title.Caption = 'ArtID'
            Width = 1                     //<-- wenn dieser Wert = 0 ist geht das Programm nicht!
          end        
          item
            Title.Caption = 'ArtikelNr'
            Width = 75
          end        
          item
            Title.Caption = 'Bezeichnung'
            Width = 110
          end        
          item
            Title.Caption = 'Preis'
            Width = 45
          end>
        FixedCols = 0
        Flat = True
        Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goSmoothScroll, goRowHighlight]
        ParentFont = False
        ParentShowHint = False
        RowCount = 1
        TabOrder = 14
      end
Vbxler
-------------------------

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

Re: Verunsicherung mit Lazarus

Beitrag von theo »

Keine Ahnung, aber wozu machst du das?
Warum nicht einfach visible:=False wenn du das Ding nicht sehen wilst?

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:

Re: Verunsicherung mit Lazarus

Beitrag von Christian »

kannst du ein einfaches testprojekt zu reproduzieren erstellen ?
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

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

Re: Verunsicherung mit Lazarus

Beitrag von Vbxler »

@theo
Das mit visible:=False bringt nicht, da dabei wieder die Breite auf = 0 gestellt wird
und dann kommt es wieder zu einem Absturz der Anwendung.

@Christian
Ich müsste schauen, ob ich den Fehler mit einem Beispielprojekt nachbilden kann.
Vbxler
-------------------------

Michl
Beiträge: 2513
Registriert: Di 19. Jun 2012, 12:54

Re: Verunsicherung mit Lazarus

Beitrag von Michl »

Vbxler hat geschrieben:Das mit visible:=False bringt nicht, da dabei wieder die Breite auf = 0 gestellt wird
und dann kommt es wieder zu einem Absturz der Anwendung.
Unter Lazarus 1.2.2 32bit und Lazarus 1.3 Trunc auf Win7 64bit gibts keinerlei Probleme. Ein Minimalbsp wäre gut und welches System nutzt Du?!

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection;  

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

Re: Verunsicherung mit Lazarus

Beitrag von Vbxler »

ich habe das unter Lazarus 1.2 schon x-male so gemacht, dass die erste Spalte die Breite = 0 besitzt und es nie ein Fehler aufgetreten.
Habe auch versucht, diesen Fehler mit einem Minimalprojekt nachzustellen - nicht möglich.

Mir ist bei Lazarus aufgefallen, wenn alles oK ist funktioniert es auch toll.
Ist aber eine Kleinigkeit nicht so wie Lazarus es erwartet, dann hat man ein Problem.
Das kann so weit gehen, dass die IDE schon beim Start abstürzt, nur wie soll man dann diesen Fehler finden.

Gibt es bei Lazarus eine Möglichkeit, eine Projektüberprüfung oder Projektreparatur durchzuführen zu können?
Vbxler
-------------------------

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

Re: Verunsicherung mit Lazarus

Beitrag von theo »

Vbxler hat geschrieben: Das kann so weit gehen, dass die IDE schon beim Start abstürzt,
Wie ist denn das passiert? Habe ich noch nie erlebt in vielen Jahren, ausser vllt. ich entwickle an der IDE selber, oder verwende experimentelle IDE Erweiterungen wie Docking etc.
Vbxler hat geschrieben: nur wie soll man dann diesen Fehler finden.
Man kann auch die IDE unter GDB starten und einen Backtrace machen.
http://wiki.lazarus.freepascal.org/Crea ... ith_GDB/de
Vbxler hat geschrieben: Gibt es bei Lazarus eine Möglichkeit, eine Projektüberprüfung oder Projektreparatur durchzuführen zu können?
Nicht dass ich wüsste. Wie stellst du dir das vor?

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

Re: Verunsicherung mit Lazarus

Beitrag von wp_xyz »

Das kann so weit gehen, dass die IDE schon beim Start abstürzt,
Welche Packages hast du denn installiert? Solch schlimme Sachen habe ich nur erlebt, wenn ich instabile/inkompatible Packages installiert habe.

Starte Lazarus einmal mit neuer Konfiguration, indem du z.B. den Kommandozeilenparameter "--pcp=c:\Lazarus_test_config" verwendest, wobei das angegebenen Verzeichnis noch nicht existieren sollte. Damit startet Lazarus mit den Default-Einstellungen, d.h. alle deine Packages sind weg. Läuft dein Programm jetzt? Falls ein Package fehlt, musst du es natürlich nachinstallieren, aber habe ein Auge darauf, dass es aktuell ist und zu deinem Lazarus/fpc passt. Evtl. kannst du dir das Installieren auch sparen, indem du die betreffende Komponente zur Laufzeit erzeugst (nicht-visuelle Komponenten muss man m.E. nicht zur Designzeit verfügbar haben). Ziel der Aktion ist, die IDE möglichst wenig zu verändern.

Lässt du später den o.e. Kommandozeilenparameter wieder weg, hast du wieder dein altes Lazarus.

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

Re: Verunsicherung mit Lazarus

Beitrag von Vbxler »

Ich werde gleich mal als nächstes Lazarus neu installieren,
da ich einiges an Paketen hinzugefügt und wieder entfernt habe.

Vielleicht ist da irgend etwas falsch gelaufen.

Danke für Eure Hilfe!
Vbxler
-------------------------

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

Re: Verunsicherung mit Lazarus

Beitrag von Vbxler »

Ich konnte den Fehler reproduzieren:
wenn im unteren Stringgrid die erste Spalte = 0 ist stürzt das Programm ab.

Man könnte jetzt natürlich sagen, man entwirft das Stringgrid nicht mit einer Zeile,
aber ich will das Fenster auf die Grösse des Bildschirms anpassen und dann werden die
entsprechenden Zeilen angezeigt. Meiner Meinung nach ist das ein Bug.
Dateianhänge
Stringgrid_Fehler.7z
(879.94 KiB) 106-mal heruntergeladen
Vbxler
-------------------------

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:

Re: Verunsicherung mit Lazarus

Beitrag von Christian »

Schick, dann musst das jetzt nur noch bei deinem Testprojekt einstellen, und dann nen Bugreport machen.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

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

Re: Verunsicherung mit Lazarus

Beitrag von theo »

Ja, das ist ein Fehler und du hast recht, es betrifft sogar die IDE weil diese "0" auch im Designmode Probleme macht.
Ansonsten wie Christian schon sagt: Ab in den Bugtracker damit.

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

Re: Verunsicherung mit Lazarus

Beitrag von wp_xyz »

Wenn ich das Programm auspacke, so wie es hier angehängt ist, und durch Lazarus jage, läuft es bei mir problemlos.

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

Re: Verunsicherung mit Lazarus

Beitrag von theo »

wp_xyz hat geschrieben:Wenn ich das Programm auspacke, so wie es hier angehängt ist, und durch Lazarus jage, läuft es bei mir problemlos.
Ja, aber mach halt was er sagt: "wenn im unteren Stringgrid die erste Spalte = 0 ist stürzt das Programm ab."
WARNING: Danach spinnt Lazarus. Am einfachsten löschst du dann den "Stringgrid_Fehler" Ordner oder schraubst an "inputhistory.xml".

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

Re: Verunsicherung mit Lazarus

Beitrag von Vbxler »

Ich muss schon sagen, dass sehr froh bin diesen Fehler gefunden zu haben,
da ich eigentlich recht kurz mit Pascal arbeite und es nichts schlimmeres
gibt, als ein System dem man nicht trauen kann.

Danke für Eure Hilfe.
Vbxler
-------------------------

Antworten