Zitat von
negaH:
So wie nachfolgend geht es auch mit einer EXE die ohne Laufzeitpackages compiliert wurde.
Delphi-Quellcode:
...
Module := LoadLibrary('VCLDB70.bpl');
...
Wichtig ist nur das du
nicht LoadPackage() benutzt da diese Funktion intern viel mehr Überprüfungen durchführt. Mit LoadPackage() können nur Packages geladen und
initialisiert werden die unterschiedliche Units zu den schon geladenen Modulen enthalten.
Ich hatte mit LoafPackage keine Probleme.
Aber mit LoadLibrary funktioniert es auch nicht so recht.
Probier mal bitte das
Package dclSockets70.bpl aus.
Es sind 2 Komponenten enthalten. Keine wird angezeigt.
Probier mal
dclstd70.bpl aus
Es werden einige Klassen angezeigt, aber eben nicht alle.
Vor allem nicht die Komponenten:
[equote="MaBuSE schrieb in
http://www.delphipraxis.net/internal...=356197#356197 "]Mein Versuch gestern mit Deiner
Unit brachten mich etwas weiter.
...
Dabei ist mir folgendes aufgefallen:
1. Es werden nicht alle Komponenten gefunden.
2. RegisterClass wird nicht aufgerufen, obwohl TForm von TPersistent abgeleitet ist.
Hier die Ausgabe der Procedure für
Package dclstd70.bpl
Code:
Unit:FiltEdit - Klasse: TFilterEditor = class(TForm)
Unit:FiltEdit - Klasse: TFilterProperty = class(TStringProperty)
Unit:MaskText - Klasse: TMaskTextProperty = class(TStringProperty)
Unit:MaskText - Klasse: TMaskTextForm = class(TForm)
Unit:MaskProp - Klasse: TMaskProperty = class(TStringProperty)
Unit:MaskProp - Klasse: TMaskForm = class(TForm)
Unit:ItemEdit - Klasse: TItemInfo = class(TObject)
Unit:ItemEdit - Klasse: TListViewItems = class(TForm)
Unit:NodeEdit - Klasse: TTreeViewItems = class(TForm)
Unit:ImgEdit - Klasse: TImageInfo = class(TObject)
Unit:ImgEdit - Klasse: TImageListEditor = class(TForm)
Unit:NewStdAc - Klasse: TNewStdActionDlg = class(TForm)
Unit:ActnDrag - Klasse: TActionDragObject = class(TDragControlObject)
Unit:ActnEdit - Klasse: TActionImageListListener = class(TChangeLink)
Unit:ActnEdit - Klasse: TActionListDesigner = class(TToolbarDesignWindow)
Unit:ActnRes - Klasse: TStandardActions = class(TDataModule)
Unit:XPMan - Klasse: TXPManifest = class(TComponent)
Unit:SBarEdit - Klasse: TStatusBarEditor = class(TForm)
Unit:ColEdit - Klasse: TColInfo = class(TObject)
Unit:ColEdit - Klasse: TListViewColumns = class(TForm)
Unit:HCtlEdit - Klasse: THeaderControlEditor = class(TForm)
Unit:DdeReg - Klasse: TSrvrConvEdit = class(TDefaultEditor)
Unit:DdeReg - Klasse: TCliConvEdit = class(TDefaultEditor)
Unit:DdeReg - Klasse: TSrvrItemEdit = class(TDefaultEditor)
Unit:DdeReg - Klasse: TDdeLinkDlg = class(TForm)
Unit:DdeReg - Klasse: TDdeLinkInfoProperty = class(TPropertyEditor)
Unit:DdeReg - Klasse: TDdeClientItemProperty = class(TStringProperty)
In dem
Package sind aber noch folgende Komponenten registriert:
TOpenDialog, TSaveDialog, TOpenPictureDialog, TSavePictureDialog, TFontDialog, TColorDialog, TPrintDialog, TPrinterSetupDialog, TFindDialog, TReplaceDialog, TPageSetupDialog, TTimer, TPaintBox, TMediaPlayer, TMainMenu, TPopupMenu, TLabel, TEdit, TMemo, TButton, TCheckBox, TRadioButton, TListBox, TComboBox, TScrollBar, TGroupBox, TRadioGroup, TPanel, TActionList, TBitBtn, TSpeedButton, TMaskEdit, TStringGrid, TDrawGrid, TImage, TShape, TBevel, TScrollBox, TCheckListBox, TSplitter, TStaticText, TControlBar, TApplicationEvents, TValueListEditor, TLabeledEdit, TColorBox, TTabControl, TPageControl, TImageList, TRichEdit, TTrackBar, TProgressBar, TUpDown, THotKey, TAnimate, TDateTimePicker, TMonthCalendar, TTreeView, TListView, THeaderControl, TStatusBar, TToolBar, TCoolBar, TPageScroller, TComboBoxEx, TXPManifest, TOleContainer, TCOMAdminCatalog, TDdeClientConv, TDdeClientItem, TDdeServerConv und TDdeServerItem
Für das
Package dclsockets70.bpl zeigt mir Deine Funktion gar nichts an, aber es sind die Komponenten
TClientSocket und TServerSocket enthalten[/equote]