Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Fremdkomponente unter Delphi 10 Rio (https://www.delphipraxis.net/198729-fremdkomponente-unter-delphi-10-rio.html)

Delbor 26. Nov 2018 19:44

Fremdkomponente unter Delphi 10 Rio
 
Hi zusammmen

Vor kurzer Zeit hab ich mir einige Fremdkomponenten zugelegt, die ich nun gerne in Delphi Rio einfügen möchte - was allerdings schon scheitert, wenn ich die Bpl unter <Packages installieren> der Liste hinzuzufügen versuche. Die Fehlermeldung:

Zitat:

Delphi 10.3
---------------------------
Registrierungsprozedur, Pdfiume.Register in Package C:\Program Files (x86)\Winsoft\PDFium Component Suite\Delphi102\pdfiump.bpl hat die Exception-Klasse EComponentError: <Keine Meldung> ausgelöst.
---------------------------
Erstmal habe ich versucht, die Komponente neu zu kompilieren - mit TFilesearcher hat das anstandslos geklappt, nicht so jedoch mit dieser Komponente. Hier ist Designintf unbekannt. Die Fehlerzeile:
Delphi-Quellcode:
uses Classes, {$ifdef D6PLUS} DesignIntf, DesignEditors {$else} DsgnIntf {$endif D6PLUS}, SysUtils, Dialogs, PDFium;
Eine Suche nach Desinginf führt zu dieser Empfehlung:
Zitat:

Gegen Sie im Abschnitt Weitere Optionen neben Weitere Optionen für die Übergabe an den Compiler –LUDesignIDE ein.
Delphis Reaktion bei einem Compilierungsversuch:
Zitat:

[dcc32 Warnung] W1030 Ungültige Compileranweisung: '–LUDesignIDE'
[dcc32 Fataler Fehler] PDFiumE.pas(26): F2613 Unit 'DesignIntf' nicht gefunden.
Gruss
Delbor

hoika 26. Nov 2018 19:51

AW: Fremdkomponente unter Delphi 10 Rio
 
Hallo,
{$ifdef D6PLUS} DesignIntf, DesignEditors {$else} DsgnIntf {$endif D6PLUS}

D6PLUS ist False, dass muss aber True sein.
Du kannst das auch gleich ändern
DesignIntf, DesignEditors

Da muss es eine Inc-Datei oder ähnlich geben, wo Du bei D6PLUS die neue Compilervariable rein nehmen musst(VER33?).

gammatester 26. Nov 2018 19:53

AW: Fremdkomponente unter Delphi 10 Rio
 
Sicher das D6PLUS definiert ist? Kommt der Fehler auch wenn Du D6PLUS durch CONDITIONALEXPRESSIONS ersetzt? Das sollte equivalent sein, da letzteres für Delphi 6 und höher definiert ist.

Delbor 26. Nov 2018 20:40

AW: Fremdkomponente unter Delphi 10 Rio
 
Hi zusammen
Zitat:

Zitat von hoika (Beitrag 1419304)
Hallo,
{$ifdef D6PLUS} DesignIntf, DesignEditors {$else} DsgnIntf {$endif D6PLUS}

D6PLUS ist False, dass muss aber True sein.
Du kannst das auch gleich ändern
DesignIntf, DesignEditors

Da muss es eine Inc-Datei oder ähnlich geben, wo Du bei D6PLUS die neue Compilervariable rein nehmen musst(VER33?).

Sorry, aber im Moment verstehe ich nur Bahnhof. Aber das liegt vielleicht an meiner Unterlassung. Der komplette Block geht so:

Delphi-Quellcode:
{$ifdef FPC}
uses Classes, PropEdits, ComponentEditors, lresources, SysUtils, Dialogs, PDFium;
{$else}
uses Classes, {$ifdef CONDITIONALEXPRESSIONS } DesignIntf, DesignEditors {$else} DsgnIntf {$endif CONDITIONALEXPRESSIONS }, SysUtils, Dialogs, PDFium;
{$endif FPC}
Andrerseits:
Zitat:

D6PLUS ist False, dass muss aber True sein.
Du kannst das auch gleich ändern
DesignIntf, DesignEditors
Das verstehe ich so, dass ich das ganze ifdef-gedöns gar nicht brauche - weder beabbsichtige ich, die Komponente unter FPC einzusetzen noch weiterzugeben.
Ich hab das gleich mal getestet:
Delphi-Quellcode:
uses Classes, DesignIntf, DesignEditors, SysUtils, Dialogs, PDFium;
DesignIntf und DesignEditors sind weiter unbekannt...

Übrigens - gleicH nach interface :
Delphi-Quellcode:
{$ifdef CONDITIONALEXPRESSIONS}
  {$if CompilerVersion >= 14}
    {$define D6PLUS} // Delphi 6 or higher
  {$ifend}
{$endif}
Gruss
Delbor

PS: wenn es eine inc-Datei gäbe, müsste sie doch im uses-Teil deklariert sein?

hoika 26. Nov 2018 20:58

AW: Fremdkomponente unter Delphi 10 Rio
 
Hallo,
OK, keine Inc-Datei, aber das mit CompilerVersion steht sonst in einer Inc-Datei.

vielleicht hilft das hier

http://docwiki.embarcadero.com/Libra.../en/DesignIntf

jaenicke 26. Nov 2018 21:02

AW: Fremdkomponente unter Delphi 10 Rio
 
Unter requires in der .dpk fehlt designide. Den Parameter aus der Doku musste ich nicht angeben.

Delbor 26. Nov 2018 21:55

AW: Fremdkomponente unter Delphi 10 Rio
 
Hi jaenicke
Zitat:

Zitat von jaenicke (Beitrag 1419311)
Unter requires in der .dpk fehlt designide. Den Parameter aus der Doku musste ich nicht angeben.

Verstehe ich das richtig: die gehört in der Projektvverwaltung unter requires aufgeführt?
Ich habe da mal einen Rechtsklick ausgeführt. Im Hinzufügen-Dialog steht unter Suchpfad:
Zitat:

f:\embarcadero corner\lib\Win32\release;C:\Users\Roger\Documents\ Embarcadero\Studio\20.0\Imports;f:\embarcadero corner\Imports;C:\Users\Public\Documents\Embarcade ro\Studio\20.0\Dcp;f:\embarcadero corner\include
Wobei mir vor allem "release" aufgefallen ist. Sollte das zurt Zeit nicht eher "Debug" sein?

Und wo unter Source finde ich die Designide? Ich habe dann mal hier nachgesehen. Das Resultat:
Zitat:

[Content]
Package C:\Users\Public\Documents\Embarcadero\Studio\20.0\ Bpl\RoasePdf.bpl wurde installiert.
Es wurde(n) folgende neue Komponente(n) registriert: TRoasePdf, TRoasePdfView.

[OK]
Vielen Dank, jaenicke!!

Gruss
Delbor

jaenicke 27. Nov 2018 05:51

AW: Fremdkomponente unter Delphi 10 Rio
 
Zitat:

Zitat von Delbor (Beitrag 1419316)
Verstehe ich das richtig: die gehört in der Projektvverwaltung unter requires aufgeführt?
Ich habe da mal einen Rechtsklick ausgeführt. Im Hinzufügen-Dialog steht unter Suchpfad:

Am einfachsten ist es wirklich direkt die .dpk zu bearbeiten, sprich Projekt anklicken in der Projektverwaltung und Strg + V drücken (oder auch schlicht die Datei direkt mit einem Editor bearbeiten).
Da braucht man nur designide in dem Abschnitt requires hinschreiben, das war es.

Aber das Resultat ist das gleiche, es hat ja auch geklappt, ich finde die anderen Wege nur recht umständlich. :)


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