AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein FreePascal [gelöst] Lazarus: StringGrid drucken

[gelöst] Lazarus: StringGrid drucken

Ein Thema von Kralle · begonnen am 18. Feb 2015 · letzter Beitrag vom 19. Feb 2015
Antwort Antwort
Seite 4 von 5   « Erste     234 5   
Kralle

Registriert seit: 31. Okt 2004
Ort: Bremerhaven
355 Beiträge
 
Delphi XE7 Professional
 
#31

AW: Lazarus: StringGrid drucken

  Alt 18. Feb 2015, 17:56
[QUOTE=BadenPower;1290431]
Du willst doch nicht ernsthaft die ganzen Deklarationen und Funktionen in Deinen Quelltext kopieren?
War ja nur ein Gedanke.

Ich habe Lazarus jetzt komplett platt gemacht und neu installiert - Ergebis: keine Änderung.

Gruß Heiko
OS: Windows 10 Professional, Delphi XE7 Pro SP1 +(Mobilpack & FireDAC)
  Mit Zitat antworten Zitat
Kralle

Registriert seit: 31. Okt 2004
Ort: Bremerhaven
355 Beiträge
 
Delphi XE7 Professional
 
#32

AW: Lazarus: StringGrid drucken

  Alt 18. Feb 2015, 18:03
Kann es sein das ich für die Lazarus-Nutzung unter Windows irgendwelche Einstellungen Global oder in den Projekteinstellungen machen muß die jetzt zu den Problemen führen?

In meienm PC sind 32GB Ram verbaut, könnte das dass Problem sein?
OS: Windows 10 Professional, Delphi XE7 Pro SP1 +(Mobilpack & FireDAC)

Geändert von Kralle (18. Feb 2015 um 18:10 Uhr)
  Mit Zitat antworten Zitat
BadenPower

Registriert seit: 17. Jun 2009
616 Beiträge
 
#33

AW: Lazarus: StringGrid drucken

  Alt 18. Feb 2015, 18:12
Kann es sein das ich für die Lazarus-Nutzung unter Windows irgendwelche Einstellungen Global oder in den Projekteinstellungen machen muß die jetzt zu den Problemen führen?
Kann ich Dir leider nicht sagen, wie es unter Win8 aussieht.

Benutze für Lazarus Windows XP und es geht.


Was passiert genau, wenn Du den Code in #25 ausführst?

Wie lautet die EXAKTE und KOMPLETTE Fehrlermeldung?

Wie ist das Stringgrid eingestellt?
Vor allem die Einstellungen RowCount, ColCount, FixedRows und FixedCols.
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.
  Mit Zitat antworten Zitat
Kralle

Registriert seit: 31. Okt 2004
Ort: Bremerhaven
355 Beiträge
 
Delphi XE7 Professional
 
#34

AW: Lazarus: StringGrid drucken

  Alt 18. Feb 2015, 18:23
Was passiert genau, wenn Du den Code in #25 ausführst?

Wie lautet die EXAKTE und KOMPLETTE Fehrlermeldung?
Code:
Projekt project1 hat Exception-Klasse >>External: SIGSEGV<< ausgelöst. Bei Adresse 403B70
Im Assembler wird :
Code:
00403B70 833800                   cmpl  $0x0,(%eax)
00403B73 7501                     jne   0x403b76 <fpc_ansistr_decr_ref+6>
Angezeigt.

Wie ist das Stringgrid eingestellt?
Vor allem die Einstellungen RowCount, ColCount, FixedRows und FixedCols.
Delphi-Quellcode:
  object StringGrid1: TStringGrid
    Left = 0
    Height = 424
    Top = 0
    Width = 558
    Align = alClient
    Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goEditing, goAlwaysShowEditor, goSmoothScroll]
    TabOrder = 1
  end
Gruß Heiko
OS: Windows 10 Professional, Delphi XE7 Pro SP1 +(Mobilpack & FireDAC)
  Mit Zitat antworten Zitat
BadenPower

Registriert seit: 17. Jun 2009
616 Beiträge
 
#35

AW: Lazarus: StringGrid drucken

  Alt 18. Feb 2015, 18:32
Was passiert genau, wenn Du den Code in #25 ausführst?

Wie lautet die EXAKTE und KOMPLETTE Fehrlermeldung?
Code:
Projekt project1 hat Exception-Klasse >>External: SIGSEGV<< ausgelöst. Bei Adresse 403B70
Im Assembler wird :
Code:
00403B70 833800                   cmpl  $0x0,(%eax)
00403B73 7501                     jne   0x403b76 <fpc_ansistr_decr_ref+6>
Angezeigt.
Das passiert beim Start der Anwendung, also ohne irgendetwas zu machen?

Wenn ja, dann bin ich vorläufig raus und der Fehler müsste bei "Lazarus gegen Windows 8.1" zu suchen sein.
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.
  Mit Zitat antworten Zitat
Kralle

Registriert seit: 31. Okt 2004
Ort: Bremerhaven
355 Beiträge
 
Delphi XE7 Professional
 
#36

AW: Lazarus: StringGrid drucken

  Alt 18. Feb 2015, 19:03

Das passiert beim Start der Anwendung, also ohne irgendetwas zu machen?
Nein, wenn ich auf den Button klicke der den Ausdruck starten soll.
Ich kann die Anwendung starten und Daten ins Grid eintragen, aber wehe ich starte den Ausdruck.
OS: Windows 10 Professional, Delphi XE7 Pro SP1 +(Mobilpack & FireDAC)
  Mit Zitat antworten Zitat
BadenPower

Registriert seit: 17. Jun 2009
616 Beiträge
 
#37

AW: Lazarus: StringGrid drucken

  Alt 18. Feb 2015, 19:24

Das passiert beim Start der Anwendung, also ohne irgendetwas zu machen?
Nein, wenn ich auf den Button klicke der den Ausdruck starten soll.

Ich kann die Anwendung starten und Daten ins Grid eintragen, aber wehe ich starte den Ausdruck.
Dann zeig doch einmal den kompletten Code, WELCHER NICHT FUNKTIONIERT.

Also das GANZE Projekt.

Deine Zugriffsverletzungen kommen bestimmt wieder daher, dass Du zum x-ten mal auf etwas zugreifst, was nicht vorhanden ist.

Ich vermute hier einfach einmal wieder, dass Du RowCount oder ColCount verändert hast, was in Deinen Schleifen dafür sorgt, dass Du wieder auf eine Zeile zugreift, welche nicht da ist.

Die Vermutung bekomme ich, da in den geposteten Schleifen wieder bei 1 angefangen wird ohne Rücksicht auf FixedCols und FixedRows.

Wie soll man denn einen Fehler lokalisieren, wenn die entsprechenden Daten verheimlicht werden???
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.
  Mit Zitat antworten Zitat
Kralle

Registriert seit: 31. Okt 2004
Ort: Bremerhaven
355 Beiträge
 
Delphi XE7 Professional
 
#38

AW: Lazarus: StringGrid drucken

  Alt 18. Feb 2015, 19:46
Moin,


Dann zeig doch einmal den kompletten Code, WELCHER NICHT FUNKTIONIERT.
Um das Problem in den Griff zu bekommen habe ich nur die Druckroutine, ein StringGrid und einen Button in ein neues Projekt gepackt.
Der Code steht in Beitrag 25:

http://www.delphipraxis.net/1290424-post25.html

Also das GANZE Projekt.
Der Code in Beitrag 25 läuft nicht und wir brauchen hier nicht über ein ganzes Projekt reden, wenn der Code schon nicht läuft.
Wenn diese minimalistische Version läuft, ich sie ins Projekt einbinde und es dann dort nicht geht, dann kommt das ganze Projekt erneut unter die Lupe.

Deine Zugriffsverletzungen kommen bestimmt wieder daher, dass Du zum x-ten mal auf etwas zugreifst, was nicht vorhanden ist.

Ich vermute hier einfach einmal wieder, dass Du RowCount oder ColCount verändert hast, was in Deinen Schleifen dafür sorgt, dass Du wieder auf eine Zeile zugreift, welche nicht da ist.
An dem Code, den wir gestern in einem anderen Thread bereinigt haben, habe ich nichts mehr geändert.
Ich hhabe nur die Druckprocedure ins Projekt kopiert und den Aufruf in Main-Menü eingebunden.

Die Vermutung bekomme ich, da in den geposteten Schleifen wieder bei 1 angefangen wird ohne Rücksicht auf FixedCols und FixedRows.
Welche Schleife in welchem Code meinst Du jetzt?

Wie soll man denn einen Fehler lokalisieren, wenn die entsprechenden Daten verheimlicht werden???
Siehe oben und Beitrag 25.

Gruß HEiko
OS: Windows 10 Professional, Delphi XE7 Pro SP1 +(Mobilpack & FireDAC)
  Mit Zitat antworten Zitat
BadenPower

Registriert seit: 17. Jun 2009
616 Beiträge
 
#39

AW: Lazarus: StringGrid drucken

  Alt 18. Feb 2015, 20:03
Jetzt noch einmal ganz von vorne:

Wenn Du den Code in #25 ausführst, dann läuft das Programm.

Das StringGrid1 ist komplett leer und
RowCount ist 5
ColCount ist 5
FixedRows ist 1
FixedCols ist 1

wenn Du nun Button1 drückst, dann kommt der Fehler?




Delphi-Quellcode:
  for F := 1 to sGrid.ColCount - 1 do // <- hier
  begin
    X1 := 0;
    for TmpI := 1 to (F - 1) do // <- hier
      X1 := X1 + 5 * (sGrid.ColWidths[TmpI]);
    Y1 := 300;
    X2 := 0;
    for TmpI := 1 to F do // <- hier
      X2 := X2 + 5 * (sGrid.ColWidths[TmpI]);
    Y2 := 450;
    TR := Types.Rect(X1, Y1, X2 - 30, Y2);
    Printer.Canvas.Font.Style := [fsBold];
    Printer.Canvas.Font.Size := 7;
    Printer.Canvas.TextRect(TR, X1 + 50, 350, sGrid.Cells[F, 0]);
    Printer.Canvas.Font.Style := [];
    for TmpI := 1 to sGrid.RowCount - 1 do // <- hier
    begin
      Y1 := 150 * TmpI + 300;
      Y2 := 150 * (TmpI + 1) + 300;
      TR := Types.Rect(X1, Y1, X2 - 30, Y2);
      Printer.Canvas.TextRect(TR, X1 + 50, Y1 + 50, sGrid.Cells[F, TmpI]);
    end;
  end;
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.
  Mit Zitat antworten Zitat
Kralle

Registriert seit: 31. Okt 2004
Ort: Bremerhaven
355 Beiträge
 
Delphi XE7 Professional
 
#40

AW: Lazarus: StringGrid drucken

  Alt 18. Feb 2015, 20:12
N'abend,

Jetzt noch einmal ganz von vorne:

Wenn Du den Code in #25 ausführst, dann läuft das Programm.
Nein.
Das StringGrid1 ist komplett leer und
RowCount ist 5
ColCount ist 5
FixedRows ist 1
FixedCols ist 1
Ja.
wenn Du nun Button1 drückst, dann kommt der Fehler?
Ja.

Deine Quellcode-Hinweise (der Code stammt ja nicht von mir und läuft ungeändert bei anderen)
nehme ich mir nachher mal vor.

Gruß Heiko
OS: Windows 10 Professional, Delphi XE7 Pro SP1 +(Mobilpack & FireDAC)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz