Delphi-PRAXiS
Seite 4 von 5   « Erste     234 5      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   FreePascal [gelöst] Lazarus: StringGrid drucken (https://www.delphipraxis.net/183997-%5Bgeloest%5D-lazarus-stringgrid-drucken.html)

Kralle 18. Feb 2015 16:56

AW: Lazarus: StringGrid drucken
 
[QUOTE=BadenPower;1290431]
Zitat:

Zitat von Kralle (Beitrag 1290428)
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. :cry:

Gruß Heiko

Kralle 18. Feb 2015 17:03

AW: Lazarus: StringGrid drucken
 
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?

BadenPower 18. Feb 2015 17:12

AW: Lazarus: StringGrid drucken
 
Zitat:

Zitat von Kralle (Beitrag 1290436)
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.

Kralle 18. Feb 2015 17:23

AW: Lazarus: StringGrid drucken
 
Zitat:

Zitat von BadenPower (Beitrag 1290441)
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.

Zitat:

Zitat von BadenPower (Beitrag 1290441)
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

BadenPower 18. Feb 2015 17:32

AW: Lazarus: StringGrid drucken
 
Zitat:

Zitat von Kralle (Beitrag 1290442)
Zitat:

Zitat von BadenPower (Beitrag 1290441)
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.

Kralle 18. Feb 2015 18:03

AW: Lazarus: StringGrid drucken
 
Zitat:

Zitat von BadenPower (Beitrag 1290445)

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.

BadenPower 18. Feb 2015 18:24

AW: Lazarus: StringGrid drucken
 
Zitat:

Zitat von Kralle (Beitrag 1290450)
Zitat:

Zitat von BadenPower (Beitrag 1290445)

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???

Kralle 18. Feb 2015 18:46

AW: Lazarus: StringGrid drucken
 
Moin,


Zitat:

Zitat von BadenPower (Beitrag 1290452)
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

Zitat:

Zitat von BadenPower (Beitrag 1290452)
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.

Zitat:

Zitat von BadenPower (Beitrag 1290452)
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.

Zitat:

Zitat von BadenPower (Beitrag 1290452)
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?
Zitat:

Zitat von BadenPower (Beitrag 1290452)

Wie soll man denn einen Fehler lokalisieren, wenn die entsprechenden Daten verheimlicht werden???

Siehe oben und Beitrag 25.

Gruß HEiko

BadenPower 18. Feb 2015 19:03

AW: Lazarus: StringGrid drucken
 
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;

Kralle 18. Feb 2015 19:12

AW: Lazarus: StringGrid drucken
 
N'abend,

Zitat:

Zitat von BadenPower (Beitrag 1290461)
Jetzt noch einmal ganz von vorne:

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

Nein.
Zitat:

Zitat von BadenPower (Beitrag 1290461)
Das StringGrid1 ist komplett leer und
RowCount ist 5
ColCount ist 5
FixedRows ist 1
FixedCols ist 1

Ja.
Zitat:

Zitat von BadenPower (Beitrag 1290461)
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


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:54 Uhr.
Seite 4 von 5   « Erste     234 5      

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