AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Problem mit FastReports und kaputt gehendem Interface
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit FastReports und kaputt gehendem Interface

Ein Thema von TurboMagic · begonnen am 19. Feb 2023 · letzter Beitrag vom 19. Feb 2023
 
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.856 Beiträge
 
Delphi 12 Athens
 
#1

Problem mit FastReports und kaputt gehendem Interface

  Alt 19. Feb 2023, 10:04
Hallo,

gegeben Delphi 11.2 und die kostenlose FastReports Edition.
Ich habe eine Klasse zum Report erzeugen (die ein Interface umsetzt und daher immer
per Interface Referenz benutzt wird). Diese Klasse bekommt per Konstruktor mehrere
Interface Referenzen übergeben.

Das OnGetValue Event von FastReport ist in dieser Report Generator Klasse umgesetzt
um aus diesen übergebenen Interface Referenzen dynamisch auszugebende Informationen
zu beschaffen.

Das jeweils benutzte Report Objekt ist statisch auf einem Datenmodul und es wird
zur Laufzeit eine entsprechende .fr3 Datei rein geladen.

Jetzt habe ich einen reproduzierbaren Fall, wo irgendwie in dieser Report Erzeugungsklasse
die Interfacereferenz kaputt gehen muss. Ich verstehe aber noch nicht wie.

Der Fall ist vom Ablauf wie folgt:

1. Es wird im Konstruktor einer Logikklasse eine Interfacereferenz der Report
Erzeugungsklasse erzeugt "R1" und die später kaputt scheinende Interface Referenz "A",
die später Daten liefern soll übergeben.

2. Es wird in einer anderen Methode eine neue Interfacereferenz der Report
Erzeugungsklasse erzeugt "R2" und eine andere Interface Referenz "B" statt "A" übergeben,
da ggf. andere Datenwerte geliefert werden sollen. "B" ist auch in der Methode erzeugt.

3. Mittels "R2" wird erfolgreich ein Report ausgegeben. Die Aufrufende Methode mit den
lokalen Referenzen R2 und B wird verlassen.

4. Es wird versucht über "R1" einen Report auszugeben. In den Methoden vor dem
Report.PrepareReport(true); Aufruf ist der Referenzzähler von "B" auf 3.

5. In der OnGetValue Methode, die durch Report.PrepareReport(true); aufgerufen wird ist
"B" irgendwie total kaputt. Assigned ist noch true, der Versuch im Debugger RefCount
anzuzeigen (habe das im Interface rausgeführt) schlägt mit einer Zugriffsverletzung
"Unknown exception 4E3D0E80 at 0148FF84" fehl.

6. Der Versuch mal alle Debugging Optionen von FastMM4 "Vollversion" einzuschalten hat
auch nichts gebracht.

Wie kann diese Interface Referenz kaputt gehen? Das Programm macht da nix paralell...
  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 16:11 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