AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Quickreport TQrShape in TQrChildBand kopieren

Ein Thema von norwegen60 · begonnen am 26. Feb 2020 · letzter Beitrag vom 28. Feb 2020
 
norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
514 Beiträge
 
Delphi 12 Athens
 
#1

Quickreport TQrShape in TQrChildBand kopieren

  Alt 26. Feb 2020, 21:56
Hallo zusammen,

ich versuche gerade die Elemente eines TQrBand.rbGroupHeader in ein TQrChildBand zu kopieren. Das funktioniert auch. Nur beim TQrShape kommt es beim Ausdruck zu einer Access-Violation. Der folgende Code wird noch fehlerfrei durchlaufen aber beim nachfolgenden PrintVorgang kracht es dann.
Delphi-Quellcode:
procedure DuplicateChildren(const aSource: TWinControl; aDest: TWinControl; const WithEvents: Boolean = True);
var
  i: Integer;
  lSourceCtrl, lDestCtrl: TControl;
  s1, s2:String;

begin
  aDest.Height := aSource.Height;

  s1:= aSource.ClassName;
  s2:= aDest.ClassName;

  for i := 0 to aSource.ControlCount - 1 do
  begin
    lSourceCtrl := aSource.Controls[i];

    if (lSourceCtrl is TQRShape) then
    begin
      lDestCtrl := TQRShape.Create(lSourceCtrl.Owner);
      lDestCtrl.Top := lSourceCtrl.Top;
      lDestCtrl.Left := lSourceCtrl.Left;
      lDestCtrl.Width := lSourceCtrl.Width;
      lDestCtrl.Height := lSourceCtrl.Height;
      TQRShape(lDestCtrl).Shape := TQRShape(lSourceCtrl).Shape;
      lDestCtrl.Parent := aDest;
      lDestCtrl.Name := lSourceCtrl.Name + '_';
    end
    else
    begin
      lDestCtrl := TControlClass(lSourceCtrl.ClassType).Create(lSourceCtrl.Owner);
      CloneProperties(lSourceCtrl, lDestCtrl);
      lDestCtrl.Parent := aDest;
      lDestCtrl.Name := lSourceCtrl.Name + '_';
    end;
  end;
end;

procedure TrptTest2.qrbaDetail1HeaderBeforePrint(Sender: TQRCustomBand; var PrintBand: Boolean);
begin
  DuplicateChildren(Sender, qrcbHeader);
  qrcHeader.Enabled := True;
end;
Lasse ich die Zuweisung  lDestCtrl.Parent := aDest; weg, funktioniert der Print, aber die Shapes werden natürlich nicht angezeigt.
Ich habe das TQrShape extrahiert um zu sehen, woher der Fehler kommt und eigentlich passiert hier ja nichts besonderes.

Hat jemand eine Idee
  Mit Zitat antworten Zitat
 


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 17:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz