Autor Beitrag
galagher
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2065
Erhaltene Danke: 40

Windows 7 64 Bit
Delphi XE2 Starter, Delphi 10.1 Starter
BeitragVerfasst: Di 18.10.16 18:48 
Hallo!

Ich konnte diese Komponenten erfolgreich unter Delphi 10.1 installieren, in Delphi XE2 waren sie ebenfalls installiert. Dort verursachten sie beim Versuch, sie auf die Form zu ziehen, zunächst Fehler (habe mir die Fehlermeldungen leider nicht kopiert), nach einem Neustart von XE2 sind sie nun weg und lassen sich auch nicht mehr installieren:

Bei dclshlctrls150.bpl kommt: Zugriffsverletzung bei Adresse 1ABB8799. Lesen von Adresse 00000010.
Bei vclshlctrls150.bpl kommt: Package ...\Bpl\vclshlctrls150.bpl kann nicht installiert werden, da es kein Entwurfszeit-Package ist.

Neukompilieren der dpk's nützt nichts.
Gibt es da eine Lösung oder kann man diese Komponenten prinzipiell nur in einer Delphi-Version benutzen?

_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 18374
Erhaltene Danke: 1524

W10 x64 (Chrome, IE11)
Delphi 10.1 Ent, Oxygene, C# (VS 2015), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 18.10.16 18:59 
Die kann man auch in mehreren nutzen, aber du musst das Lib-Suffix für jede Delphiversion anders setzen. Am besten für Delphi 10.1 (wo diese Komponenten nicht mehr in den Samples dabei sind) einfach den Ordner mit den Komponenten aus den Samples von XE2 woanders hin kopieren und dort das Lib-Suffix in den Projekteinstellungen umstellen.

Alternativ kannst du ein eigenes Package erstellen und dort die Units hinzufügen. Diese sind nämlich in der VCL integriert als Unit Vcl.Shell.Ctrls usw.

Hintergrund:
Das Lib-Suffix sagt aus wie die erstellte BPL heißt. Wenn dieses bei beiden Delphiversionen gleich ist, heißen die BPLs auch gleich. Da beide BPL-Ausgabepfade im Systempfad drin sind, finden so beide Delphiversionen die gleiche BPL (die, die als erste im Pfad liegt). Das funktioniert natürlich nicht.

_________________
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!

Für diesen Beitrag haben gedankt: galagher
galagher Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2065
Erhaltene Danke: 40

Windows 7 64 Bit
Delphi XE2 Starter, Delphi 10.1 Starter
BeitragVerfasst: Di 18.10.16 19:31 
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Die kann man auch in mehreren nutzen, aber du musst das Lib-Suffix für jede Delphiversion anders setzen.
Wie genau mache ich das? :gruebel:

//Edit: In den dpk-Files statt {$LIBSUFFIX '150'} zB. {$LIBSUFFIX '149'} schreiben oder so?

_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
galagher Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2065
Erhaltene Danke: 40

Windows 7 64 Bit
Delphi XE2 Starter, Delphi 10.1 Starter
BeitragVerfasst: Di 18.10.16 20:38 
user profile icongalagher hat folgendes geschrieben Zum zitierten Posting springen:
//Edit: In den dpk-Files statt {$LIBSUFFIX '150'} zB. {$LIBSUFFIX '149'} schreiben oder so?
Ja, genau so! Ich habe die Suffixe einfach zu 'XE2' geändert, habe nun zwei Dateien: dclshlctrlsXE2.bpl und vclshlctrlsXE.bpl (diese Datei heisst tatsächlich so!)
Warum hier nicht auch XE2, sondern XE, weiss ich nicht! Änder ich beide Suffixe zu 'XE', heissen die Dateien dclshlctrlsXE.bpl und vclshlctrlsX.bpl!

Wie auch immer, ich habe jetzt die ShellCtrls-Komponenten wieder!

_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!