Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Frames aus einer BPL einbinden? (https://www.delphipraxis.net/112047-frames-aus-einer-bpl-einbinden.html)

angelika81 14. Apr 2008 12:10


Frames aus einer BPL einbinden?
 
Hallo,
ich habe mal wieder ein kleines Problem:

In meinem Hauptprogramm lade ich Packages, diese liefern ein bestimmtes Objekt zurück, wodurch ich sie hinterher ansteuern kann.
Eine Methode zum Ansteuern ist
Delphi-Quellcode:
Fenster.SetParentWindow(frmMain.panWindows); // "Fenster" ist ein Frame in der BPL

Im Package befindet sich diese Methode in einem Frame, da ich diesen ja im Hauptprogramm einbinden will:
Delphi-Quellcode:
procedure TFrameInfozentrale.SetParentWindow(Parent: TWinControl);
begin
  Self.Parent := Parent; // Hier kommt leider der Fehler
end;
Das Frame befindet sich also in einer BPL, und wenn ich die Parent Eigenschaft auf frmMain.panWindows setzen möchte, dann bekomme ich eine AccessViolation.
Muss ich da anders vorgehen, wenn ich einen externen Frame im Programm anzeigen möchte? Vielleicht mit Handles?

Dankeschön!
angelika

mkinzler 14. Apr 2008 12:14

Re: Frames aus einer BPL einbinden?
 
Nenn den parameter anders denn
Delphi-Quellcode:
Self.Parent := Parent;
wird als
Delphi-Quellcode:
Self.Parent := Self.Parent;
interptetiert

Delphi-Quellcode:
procedure TFrameInfozentrale.SetParentWindow(AParent: TWinControl);
Existiert der Frame schon?

angelika81 14. Apr 2008 12:19

Re: Frames aus einer BPL einbinden?
 
Hallo,

ja das Frame existiert schon. Alle anderen Frames, die im Hauptprogramm enthalten sind, unterstützen diese Methode auch und da funktioniert es wunderbar...
Da wird es also richtig interpretiert :gruebel:

angelika81 14. Apr 2008 12:21

Re: Frames aus einer BPL einbinden?
 
Auch wenn es als
Delphi-Quellcode:
Self.Parent := Self.Parent;
interpretiert würde, gäbe es dann doch keinen Fehler richtig? Wenn Parent vorher nil ist, dann ist es hinterher auch nil.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:52 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