Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   COM-Objekt - Klasse nicht registriert ... (https://www.delphipraxis.net/213613-com-objekt-klasse-nicht-registriert.html)

jaenicke 27. Aug 2023 10:05

AW: COM-Objekt - Klasse nicht registriert ...
 
Zitat:

Zitat von paule32.jk (Beitrag 1526142)
ja eigentlich habe ich nichts dagegen, DLL einzusetzen.
Allerdings habe ich dann bei COM+ alles unter einen Hut, und muss dann bei der Implementierung
zwei Versionen anfertigen, wenn ich C++ Builder einsetzen möchte.

COM-basierte Interfaces funktionieren überall gleich, egal ob unter Delphi oder C++. Im Gegenteil ist genau das mit allem kompatibel, ohne etwas zu registrieren oder ähnliche Verrenkungen.

Du exportierst einfach eine Funktion in der DLL, die das Interface zurück liefert, rufst diese Funktion aus der Hostanwendung auf und schon kannst du mit dem Inteface arbeiten. Dabei ist es egal, welchen Teil du in Delphi, C++ oder anderen nativen Sprachen schreibst. FÜr die Nutzung mit C# muss man noch ein wenig mehr beachten, das siehst du in meinem Projekt, aber dann geht sogar das.

Für Strings kannst du PChar oder WideString/BSTR nutzen.

paule32.jk 27. Aug 2023 10:09

AW: COM-Objekt - Klasse nicht registriert ...
 
Ja, Danke für Deine Tipps !

Die Neue Fragen sind nun,

- wie kann ich eine Liste über Plugins in meiner Anwendung führen ?
- wie kann ich eine Funktion bereitstellen, die in meiner Anwendung ein Bild zur Verfügung stellt
(also erstmal alles nur ein Bildchen, das je nach Plugin dynamisch ladbar ist.

aber ich sehe gerade ... Du hast schon einen Post abgesetzt ...

paule32.jk 27. Aug 2023 10:44

AW: COM-Objekt - Klasse nicht registriert ...
 
okay, ich habe es auf DLL und WideString umgestellt...
geht nun prima.

Danke für die Tipps.

jaenicke 27. Aug 2023 11:12

AW: COM-Objekt - Klasse nicht registriert ...
 
Eine Liste der Plugins kannst du leicht erstellen, indem du alle DLLs in einem vorgegebenen Plugin-Verzeichnis versuchst zu laden. Die müssen dann eine bestimmte Funktion exportieren, die dir Informationen über das Plugin als Interface liefert. Gibt es diese Funktion nicht, ist es kein gültiges Plugin.

Ein großer Vorteil von Interfaces:
Du kannst neue Versionen des Interfaces anbieten und mit Supports prüfen, ob das zurückgelieferte Interface diese auch unterstützt.

himitsu 27. Aug 2023 12:01

AW: COM-Objekt - Klasse nicht registriert ...
 
Zitat:

Zitat von paule32.jk (Beitrag 1526142)
Nun lassen sich die Welten C++ und Delphi ja nicht so ohne weiteres verkoppeln.

Leider doch, aber besch*** Weise ausschließlich falschrum.
Delphi-Units (vorkompilierte DCU? direct die PAS ins C++Projekt :shock:) lassen sich im C++Builder nutzen,

dabei wäre es andersrum wesentlich sinnvoller, damit man die Unmasse an C++Codes/Komponenten im Delphi nutzen könnte.
Wie gesagt, https://www.delphipraxis.net/213572-...von-gnu-c.html :freak:



[add]
https://blogs.embarcadero.com/mixing-delphi-and-c/
https://www.youtube.com/watch?v=6f5UBL0bQ9U

https://learncplusplus.org/what-you-...-in-c-builder/
https://docwiki.embarcadero.com/RADS...ics_in_C%2B%2B

http://rvelthuis.de/articles/articles-cppobjs.html
https://stackoverflow.com/questions/...sses-in-delphi

paule32.jk 27. Aug 2023 13:13

AW: COM-Objekt - Klasse nicht registriert ...
 
grüner Daumen an Dich !!!
könnte ein Feature "gefällt mir" geben - oder übersehe ich das hier ?


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:34 Uhr.
Seite 2 von 2     12   

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