dll-Datei für COM-Anbindung
-
Hallo zusammen,
vorab: Ich bin mir nicht sicher, ob das hier das richtige Forum für meine Anfrage ist aber ich versuche es mal.
Wir haben hier im Unternehmen eine dll in C++ programmiert, die durch eine exe angesteuert wird und unterschiedliche Aufgaben im Datei-System und via FTP erledigt.
Nun soll diese DLL aber über einen PHP-Server angesprochen werden. Hierzu möchte ich ein COM-Objekt erstellen, wofür ich die ProgId der dll benötige. Allerdings lässt sich die dll nicht unter Windows registieren und bricht immer mit der Fehlermeldung "dllregisterserver-eingangspunkt wurde nicht gefunden" ab.
Ich selber habe keine Ahnung von der dll-Erstellung oder von C++, sondern kümmere mich nur um die PHP-Anbindung. Muss ich die dll dafür überhaupt registrieren? Und wenn ja, wo liegt wohl das vermutliche Problem bei der Fehlermeldung?
Wäre super, wenn mir hier jemand helfen könnte.
LG vom Frischling
-
Du kannst nicht einfach eine x-beliebige dll in eine COM Komponente verwandeln. COM Komponenten können (unter anderem) in dlls verpackt sein. Aber das bedeutet noch lange nicht dass jede dll eine COM Komponente ist. Diese dll, die du da hast, ist offenbar keine COM Komponente. Mit dem Programm depends.exe kannst du schauen, was in deiner dll drin ist. Vermutlich sind da einfach nur Funktionen drin. Evtl. gibts einen Weg, direkt aus PHP Funktionen einer dll aufzurufen!?
-
Hallo dot,
danke für die Antwort. Wie gesagt habe ich davon relativ wenig Ahnung. Gibt es denn eine einfache Möglicheit die DLL in eine COM-Komponente umzuwandeln oder zu erweitern? Dann würde ich das an die Programmierer weitergeben. Eventuell kann man sie (die DLL) ja auch mit einer COM-DLL wrappen!? Was muss dafür gemacht werden?
Das Programm depends habe ich mir heruntergeladen. Allerings kann ich mit dem Ergebnis relativ wenig anfangen
In PHP geht der Weg zu den DLL-Funktionen m.E. leider nur über das COM-Objekt.
-
FrischlingASM schrieb:
Gibt es denn eine einfache Möglicheit die DLL in eine COM-Komponente umzuwandeln oder zu erweitern?
Nicht dass ich wüsste.
FrischlingASM schrieb:
Eventuell kann man sie (die DLL) ja auch mit einer COM-DLL wrappen!? Was muss dafür gemacht werden?
Natürlich kann man das. Dazu muss man aber eben eine entsprechende COM-Komponente bauen...
Ich bin allerdings weder PHP noch COM Experte.