Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Nutzung von VCPP Libarary in Borland Delphi (https://www.delphipraxis.net/90993-nutzung-von-vcpp-libarary-borland-delphi.html)

dose 27. Apr 2007 07:50


Nutzung von VCPP Libarary in Borland Delphi
 
Hallo,

Ich möchte die ChilKat Komponenten verwenden, um in einem (Delphi 5) Programm auf den Windows-Zertifikatsspeicher zuzugreifen.
Hierzu gibt es auf der Seite:
http://www.example-code.com/vcpp/cer...tUserCerts.asp

verschiedene Libs zum Downloaden, welche die Klassen CkCert und CkCertStore bereitstellen.

Wie kann ich diese Libs verwenden? Klar muß ich dann die Header-Files auf Delphi umschreiben, jedoch dunkel erinnere ich mich noch aus meiner C++ Zeit, dass ich damals die MS Visual Libary konvertieren mußte, um diese in (damals) Borland C++ einzubinden.

Gibt es einen Weg, oder bin ich hier absoult auf dem Holzpfad?

Ich konnte mittels ActiveX-Komponenten und den Beispielen (auf http://www.example-code.com/delphi/certs.asp) schon testen, jedoch möchte ich eine unabhängiges Binary ohne Installer (für ActiveX) verwenden.


Viele Grüße
dose

Bernhard Geyer 27. Apr 2007 08:00

Re: Nutzung von VCPP Libarary in Borland Delphi
 
Schreib dir am besten eine Wrapper-DLL mit C-Kompatiblen Interface und verwende diese dann für den Zugriff.

dose 27. Apr 2007 08:04

Re: Nutzung von VCPP Libarary in Borland Delphi
 
Danke für deine Antwort.
Ich habe nur leider kein MS Visual C++.
Borland C++ müßte ich auch noch mal suchen, und dass Konvertier-Problem bleibt (leider) :-(

OregonGhost 27. Apr 2007 09:26

Re: Nutzung von VCPP Libarary in Borland Delphi
 
Zitat:

Zitat von dose
Ich habe nur leider kein MS Visual C++.

Solange es nur darum geht:
Visual C++ 2005 Express Edition
Irgendwo bei Microsoft dürfte alternativ auch noch der 2003er Compiler (ohne IDE) kostenlos verfügbar sein.

Flocke 27. Apr 2007 10:18

Re: Nutzung von VCPP Libarary in Borland Delphi
 
Zitat:

Zitat von dose
Ich möchte die ChilKat Komponenten verwenden, um in einem (Delphi 5) Programm auf den Windows-Zertifikatsspeicher zuzugreifen.

Passen denn die Delphi-Beispiele auf der Seite nicht?
http://www.example-code.com/delphi/c...tUserCerts.asp
Scheint doch nur ein ActiveX-Control zu sein, dass du importieren musst.

Bernhard Geyer 27. Apr 2007 10:19

Re: Nutzung von VCPP Libarary in Borland Delphi
 
Zitat:

Zitat von Flocke
Scheint doch nur ein ActiveX-Control zu sein, dass du importieren musst.

Das will er ja nicht. Er will eine ActiveX-Lose Lösung wie es direkt mit C++ möglich wäre.

Flocke 27. Apr 2007 12:00

Re: Nutzung von VCPP Libarary in Borland Delphi
 
Zitat:

Zitat von Bernhard Geyer
Das will er ja nicht. Er will eine ActiveX-Lose Lösung wie es direkt mit C++ möglich wäre.

Zitat:

Zitat von dose
Ich konnte mittels ActiveX-Komponenten und den Beispielen (auf http://www.example-code.com/delphi/certs.asp) schon testen, jedoch möchte ich eine unabhängiges Binary ohne Installer (für ActiveX) verwenden.

Stand das vorhin schon da :gruebel:
Sorry, da war ich wohl blind...

DMW 27. Apr 2007 16:09

Re: Nutzung von VCPP Libarary in Borland Delphi
 
Zitat:

Zitat von OregonGhost
Irgendwo bei Microsoft dürfte alternativ auch noch der 2003er Compiler (ohne IDE) kostenlos verfügbar sein.

Den bieten sie seit MSVC 2005 IIRC nicht mehr an :-/


Zitat:

Zitat von dose
Wie kann ich diese Libs verwenden? Klar muß ich dann die Header-Files auf Delphi umschreiben, jedoch dunkel erinnere ich mich noch aus meiner C++ Zeit, dass ich damals die MS Visual Libary konvertieren mußte, um diese in (damals) Borland C++ einzubinden.

Kompilierter C++-Code läßt sich grundsätzlich nur sehr selten compilerübergreifend verwenden. Dies liegt daran, daß der C++-Standard nicht vorschreibt, wie genau Funktions- und Methodenaufrufe, virtuelle Funktionen, RTTI und all die anderen schönen Sachen implementiert werden müssen. Hinzu kommt, daß ein C++-Compiler einen Funktionsnamen mit Parameter-Typbeschreibungen dekoriert, damit der Linker überladene Funktionen auseinanderhalten kann - auch dieses Verfahren wird compilerabhängig höchst unterschiedlich implementiert.

Der C++Builder bietet zwar eine gewisse Kompatibilität zum VC++-Compiler, jedoch nur auf Quelltext-Ebene. Die beiden sind nicht binärkompatibel, demnach wirst du diese Libraries, da sie mit VC++ kompiliert wurden, auch nicht in C++Builder verwenden können.

Als Lösung bleibt demnach wahrscheinlich nur das, was Bernhard Geyer auch schon vorgeschlagen hatte: schreibe eine Wrapper-DLL mit Visual C++ 2005 Express, die die von dir benötigte Funktionalität auf eine C-Schnittstelle reduziert. Diese kannst du dann mit Delphi verwenden.


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