Seite 1 von 1
Nutzung von .NET / VCL components in PB
Verfasst: 16.02.2016 21:54
von MenschMarkus
Hallo zusammen,
wie im Titel schon beschrieben,
kann mann .NET components für VisualStudion bzw. VCL Components für Embarcadero RAD Studio, Borland BDS oder Delphi und C++Builder ausgelegt sind irgendwie unter PB verwenden?
LG
menschmarkus
Re: Nutzung von .NET / VCL components in PB
Verfasst: 16.02.2016 23:00
von Kiffi
welche .NET-Komponenten meinst Du? Selbstgeschriebene? Die könnte man COM-Visible machen und auf sie dann via COMate zugreifen.
Wenn es Komponenten von Drittanbietern sind, ist die Chance eher gering, dass sie COM-Visible sind.
VCL: Keine Ahnung.
Grüße ... Peter
Re: Nutzung von .NET / VCL components in PB
Verfasst: 17.02.2016 13:39
von MenschMarkus
Es ist .NET components von einem Drittanbieter, welche für VisualStudio ausgelegt sind.
Aber irgendwie muss doch auch VS die Information vom Drittanbieter einlesen können um sie zu verarbeiten. Soll heißen irgendwo muss doch auch was ' visible ' sein um es weiterverarbeiten zu können.
Es stehen folgende Dateien zur Verfügung
- Provider DLL
Provider DLL.config
Provider DLL.xml
Engine (div. DLLs)
LG
menschmarkus
Re: Nutzung von .NET / VCL components in PB
Verfasst: 17.02.2016 14:20
von Kiffi
MenschMarkus hat geschrieben:Aber irgendwie muss doch auch VS die Information vom Drittanbieter einlesen können um sie zu verarbeiten.
ja, Visual Studio ist .NET und kann entsprechend natürlich auch mit .NET-Komponenten umgehen.
PB kann mit Klimmzügen eben nur COM; kein .NET.
Es stehen folgende Dateien zur Verfügung [...]
Diese Infos sind zu dürftig, um was über die COM-Visibility auszusagen.
Grüße ... Peter
Re: Nutzung von .NET / VCL components in PB
Verfasst: 17.02.2016 15:24
von MenschMarkus
@Kiffi
Ich habe einmal ein Trial installiert. Die Installation besteht in der Tat nur aus einigen DLLs, welche im Windows Systemverzeichnis installiert werden und im Softwareverzeichnis. Alles weitere wurde bereits genannt.
Die Provider.xml beinhaltet folgendes:
Code: Alles auswählen
<?xml version="1.0"?>
<doc>
<assembly>
<name>Apollo.Provider</name>
</assembly>
<members>
<member name="T:Apollo.ApolloDatabase">
<summary>
ApolloDatabase class.
</summary>
</member>
<member name="M:Apollo.ApolloDatabase.#ctor(Apollo.ApolloConnection)">
<summary>
Constructor.
</summary>
</member>
<member name="M:Apollo.ApolloDatabase.Finalize">
<summary>
Destructor
</summary>
</member>
<member name="M:Apollo.ApolloDatabase.OpenDatabaseConnection">
<summary>
Open a database connection to a Apollo database.
</summary>
<returns></returns>
</member>
<member name="M:Apollo.ApolloDatabase.CloseDatabaseConnection">
<summary>
Close an active database connection.
</summary>
</member>
<member name="M:Apollo.ApolloDatabase.NewSQLQuery(System.String)">
<summary>
Internal. Create new query for this connection.
</summary>
<returns></returns>
</member>
<member name="P:Apollo.ApolloDatabase.ConnectionID">
<summary>
Return a unique connection ID to the opened database.
</summary>
</member>
<member name="P:Apollo.ApolloDatabase.Database">
<summary>
Gets or sets the database name
</summary>
</member>
<member name="P:Apollo.ApolloDatabase.Password">
<summary>
Gets or sets the database password.
</summary>
</member>
<member name="T:Apollo.ApolloDBType">
<summary>
Data types supported (Column types).
</summary>
</member>
<member name="F:Apollo.ApolloDBType.Character">
<summary>
Character data type
</summary>
</member>
<member name="F:Apollo.ApolloDBType.Numeric">
<summary>
Numeric data type
</summary>
</member>
... usw.
Wie unschwer zu erkennen handelt es sich hier um ein Datenbanksystem. Die komplette DB Engine liegt in einer/mehreren DLLs. Eine typische COM componente konnte ich nicht finden.
Hier mal ein Link zur Apollo DB Seite
http://apollodb.com. Nähere bzw hilfreichere Informationen sind ggf. hier zu finden. Bei Bedarf kann hier auch die Trial Version heruntergeladen werden.
Danke schon mal für die Hilfe Kiffi
LG
menschmarkus
__________________________________________________
Quote-Tags>Code-Tags, damit die Einrückung dargestellt werden kann
17.02.2016
RSBasic
Re: Nutzung von .NET / VCL components in PB
Verfasst: 17.02.2016 15:59
von Kiffi
Da hast Du nochmal Glück gehabt!
Das sind alles Standard-DLLs, deren Funktionen mit PB nativ aufgerufen werden können:
Code: Alles auswählen
EnableExplicit
Define ApolloLib
ApolloLib = OpenLibrary(#PB_Any, "C:\Apollo\9.0 Trial\x86\Engine\apollo9.dll")
If ApolloLib
ExamineLibraryFunctions(ApolloLib)
While NextLibraryFunction()
Debug LibraryFunctionName()
Wend
CloseLibrary(ApolloLib)
EndIf
Die .NET und VCL-Komponenten sind nur Wrapper für diese DLLs.
Jetzt musst Du 'nur noch' die Aufrufparameter und Rückgabewerte ermitteln.

Aber da sollte Apollo eine entsprechende Dokumentation anbieten.
Grüße ... Peter