![]() |
Delphi-Version: XE
Designtime-Package in Anwendung
Moin,
die Delphi-IDE meckert fröhlich, wenn man versucht ein Runtime-Package (Runtime only) in ihr zu laden/installieren. Ich habe hier zwei Design-Time-Packages (Design-Time only), welche ein Kollege nun blöder Weise in eines unserer Runtime-Packages gelinkt hatte (Required). Die beliebte DesignIde.bpl und ein eigenes Package. Nur warum meckert hier nicht das Delphi-Programm, beim Versuch das zu laden? Vorallem das eigene Package hatte ich damals absichtlich auf "Design-Time" gestellt, um sowas zu verhindern und um nun zu merken, dass es absolut keine Wirkung hat. Auch Runtime-Packages kann man problemlos in der IDE installieren, wenn man dafür nicht den "Packages Installieren"-Dialog verwendet. (wenn sie von anderen Packages verwendet werden, die gerade geladen sind, dann kann man sie auch nicht über den "Packages Installieren"-Dialog deinstallieren :stupid:) |
AW: Designtime-Package in Anwendung
Zitat:
Der Unterschied zu Runtime ist, daß du die Delphi Design-Packages eben nicht weitergeben darfst. |
AW: Designtime-Package in Anwendung
Das DesignIde-Package vom Delphi wird nicht mitgegeben.
Unser eigenes Package schon ... wird alles ins selbe Verzeichnis kompiliert. Aus der Setup.exe könnte ich das eigene Package ausschließen (muß nur noch schnell bissl NSIS Script lernen), und ich muß auch mal schauen, wie ich es aus der ZIP entfernen kann, die der FinalBuilder aus dem Verzeichnis genieriert (für kleine/schnelle Updates der Testinstalationen) ... das wird aber bestimmt möglich sein. Unschön ist aber, dass das Programm (Runtime) eben nicht gleich meckert, wenn in ihm ein Design-Time-Only-Package geladen wird ... so fällt es erst Ende der Wochen beim Kunden auf, wenn dort das Test-System installiert wird. Ich hatte es gestern nur zufällig jetzt beim Auschecken (SVN) entdeckt, dass dort diese Packages verlinkt werden. |
AW: Designtime-Package in Anwendung
Zitat:
|
AW: Designtime-Package in Anwendung
Auf seinem Rechner nicht, da vorhanden.
|
AW: Designtime-Package in Anwendung
Zitat:
|
AW: Designtime-Package in Anwendung
Du könntest mit folgendem Code aber überprüfen, ob ein Designtime-Package von der Applikation geladen wurde:
Delphi-Quellcode:
procedure InfoProc(const Name: string; NameType: TNameType; Flags: Byte; Param: Pointer);
begin end; function ModuleIsNoDesignTime(HInstance: NativeInt; Data: Pointer): Boolean; var Flags: Integer; begin GetPackageInfo(HInstance, nil, Flags, InfoProc); if Odd(Flags shr 1) then begin raise Exception.Create('DesignTime-Package verwendet!'); end; Result := True; end; procedure CheckNoDesignTime; begin EnumModules(ModuleIsNoDesignTime, nil); end; |
AW: Designtime-Package in Anwendung
Jupp, es fand die DesignIde.bpl ... noch, da es noch nur auf dem Entwicklungssystemen getestet/entwickelt wurde.
|
AW: Designtime-Package in Anwendung
Zitat:
|
AW: Designtime-Package in Anwendung
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:04 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 by Thomas Breitkreuz