Hallo,
ich habe gerade folgendes mit Delphi XE2 Update 1 folgendes probiert:
Ich habe eine
VCL-Anwendung erstellt und ein
Package-Projekt. Das
Package-Projekt habe ich auf "Nur laufzeit" konfiguriert.
Im Quellcode der
VCL-Anwendung steht nicht viel mehr als:
Delphi-Quellcode:
PackageModule := LoadPackage('Package1.bpl');
if PackageModule <> 0 then
begin
ShowMessage('Hurra!');
end;
Die EXE und die
BPL liegen im gleichen Verzeichnis und beim Ausführen erhalte ich folgende Meldung:
Code:
---------------------------
Project1
---------------------------
Package Package1.bpl kann nicht geladen werden.
%1 ist keine zulässige
Win32-Anwendung.
---------------------------
OK
---------------------------
Ich habe entdeckt dass der LoadLibrary()-Aufruf innerhalb LoadPackage-Prozedur fehlschlägt. Darum hab ich mir die
BPL mit dem Dependency Walker angeschaut und gesehen, dass das 32 Bit
Package anscheinend 64 Bit-Komponente benötigt?
Mache ich irgendetwas verkehrt? Habe die gleichen Schritte gerade mit Delphi 2007 ausprobiert und dort lief es auf anhieb!
Ist dies ein bekanntes Problem?
Nachtrag: Wenn bei beiden Projekten als Zielplattform 64 Bit ausgewählt ist funktioniert es. Wenn beide 32 Bit sind allerdings nicht. Ich würde allerdings gerne noch eine 32 Bit Version meiner Anwendung veröffentlichen
.
Grüße
Stefan