![]() |
Packages: Objekte der Parent-Application verursachen Fehler
Hallo zusammen, :hi:
leider produziert mein (Test-)Programm bei der Verwendung bei einem zur Laufzeit eingebundenen Package einen Fehler. Dazu benutze ich z.Zt. das Plug-In System von TMS-Software, aber ich denke dies spielt beim Fehler keine Rolle. Die Situation: Ich übergebe beim Laden eines Plugins die Referenz auf die Hauptanwendung - soweit so gut. Das Aufrufen z.B. von simplen Integern aus der Hauptanwendung funktioniert ohne Probleme. Rufe ich jedoch ein in der Anwendung vorhandenes Objekt auf, entsteht ein Absturz. Es scheint, als sei das Objekt nicht vorhanden. In meinem Test war es ein simples TFont. Mein Frage: Gibt es bei Packages auch diese Einschränkungen wie sie bei DLLs exisitieren? Der Speicherbereich von Anwendung und Package kann doch gemeinsam (und ohne ShareMem) genutzt werden, oder? Danke für Eure Hilfe Pfoto |
Re: Packages: Objekte der Parent-Application verursachen Feh
Was für ein Fehler tritt auf?
Zitat:
|
Re: Packages: Objekte der Parent-Application verursachen Feh
Der genaue Fehler lautet:
"Zugriffsverletzung bei Adresse ...... im Modul vcl70.bpl" So sieht übrigens das Interface aus:
Delphi-Quellcode:
Im Programm wird z.B. die Font über folgende Funktion geholt:
ICustomAppServices = interface
['{FC008336-1557-4A5E-963C-5D796E620E64}'] function GetValue : integer; function GetApplication: TApplication; function GetFont: TFont; property Value : Integer read GetValue; property Application: TApplication read GetApplication; property Font: TFont read GetFont; end;
Delphi-Quellcode:
Das Font-Objekt erstelle ich zuvor in der Create-Anweisung von TCustomAppServices...
function TCustomAppServices.GetFont: TFont;
begin result:= FFont; end;
Delphi-Quellcode:
... wobei ich mich gerade frage, ob es denn hier überhaupt eine Create Anweisung gibt,
TCustomAppServices = class(TupfStandardApplicationServices, ICustomAppServices)
FFont: TFont; function GetValue : integer; function GetApplication: TApplication; function GetFont: TFont; constructor Create; destructor Destroy; end; da im Initialisierungs-Teil des Plug-In Systems "RegisterClass" steht.... Ich werde das mal prüfen Gruß Pfoto |
Re: Packages: Objekte der Parent-Application verursachen Feh
Existiert auch eine Istanz von TCustomAppServices?
|
Re: Packages: Objekte der Parent-Application verursachen Feh
Da hast du das richtige angesprochen!
Das war der Fehler! Dieses PlugIn-System registiert nur eine Klasse, so dass natürlich meine Create-Anweisung nicht aufgerufen wurde. Dort hatte ich die Objekte erstellt... nun wundert mich nichts mehr. Vielen Dank für den Denk-Anstoß! Gruß Pfoto |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:37 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