Forum: PC-Programmierung DLL in Visual Studio 2005 (C++) einbinden


von Gg V. (vogs)


Lesenswert?

Hallo!

Ich möchte eine vorhandene dll, welche nicht von mir erzeugt wurde, im 
Visual C++ 2005 Express Edition verwenden. Wie kann ich diese dll 
verwenden? Ich habe wirklich nur die dll, keine .lib, keine .h Datei.

Genauer handelt es sich um die OPCDAAuto.dll.

Danke!

von Peter II (Gast)


Lesenswert?

Gerd Fuchs schrieb:
> Genauer handelt es sich um die OPCDAAuto.dll.

das ist doch scheinbar eine OCX control oder nicht? Dann muss man am 
System registrieren

regsrv32 OPCDAAuto.dll

dann kannst irgendwo im Studio ActivX Control hinzufügen auswählen, dort 
sollt es dann in der Liste vorhanden sein.

von Gg V. (vogs)


Lesenswert?

Registriert habe ich die dll bereits.

Ich verbinde ActiveX immer mit grafischer Oberfläche. Das ganze ist 
aber, meines Wissens, nur eine Bibliothek damit ich mir einen OPC Client 
schreiben kann.

Wenn ich die dll als ActiveX importieren möchte wie hier beschreiben:
http://msdn.microsoft.com/de-de/library/aa265379(v=vs.60).aspx

kommt beim ".NET Framework-Komponenten" folgende Fehlermeldung":
"<dll Dateipfad>" ist kein Microsoft .NET-Modul.

Beim Hinzufügen im Register COM-Steuerelemente kommt folgende 
Fehlermeldung:
Die Selbstregistrierung für <dll Dateipfad> konnte aus folgendem Grund 
nicht ausgeführt werden: Zugriff verweigert.

von Peter II (Gast)


Lesenswert?

Gerd Fuchs schrieb:

> Ich verbinde ActiveX immer mit grafischer Oberfläche.
nein, es muss keine GUI haben.

> Die Selbstregistrierung für <dll Dateipfad> konnte aus folgendem Grund
> nicht ausgeführt werden: Zugriff verweigert.

dann solltest du es als admin machen.

von Gg V. (vogs)


Lesenswert?

Hat jetzt irgendwie funktioniert. Das Hinzufügen zwar nicht, aber mit
#import "C:\Windows\system32\OPCDAAuto.dll"
using namespace OPCAutomation;

kennt er jetzt die Objekte und Funktionen. Wenn ich jedoch 
losprogrammiere und das erste Objekt daraus verwende kommt folgender 
Kompilerfehler:
<VC Pfad>\vc\include\comdef.h(24) : fatal error C1083: Datei (Include) 
kann nicht geöffnet werden: "ole2.h": No such file or directory

von Peter II (Gast)


Lesenswert?

Gerd Fuchs schrieb:
> Kompilerfehler:

die Datei wird eigentlich durch das Import angelegt. Suche mal danach, 
nicht das die im falschen Verzeichnis gelandet ist.

von Gg V. (vogs)


Lesenswert?

Hmmm... Ich habs im Ordner C:/Dev-Cpp gefunden. Jedoch hab ich keine 
Ahnung wie die da rein kommt. Kann sein, dass die von anderen 
Entwicklungsumgebungen kommt. Hab jetzt mal alle möglichen .h files von 
dort in den VC Ordner kopiert (die vorhandenen natürlich nicht ersetzt) 
jetzt kommen jede Menge Kompilerfehler im winbase.h

...\include\winbase.h(1252) : error C2144: Syntaxfehler: 'void' sollte 
auf ';' folgen.

: Bearbeitet durch User
von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Gerd Fuchs schrieb:
> Hab jetzt mal alle möglichen .h files von
> dort in den VC Ordner kopiert

Das ist die schlechteste aller möglichen Ideen gewesen.

von Gg V. (vogs)


Lesenswert?

Sehr gut :)

Ich werd mal alles was Entwicklungsumgebungen anbelangt komplett 
deinstallieren und das VC neu installieren.
Meld mich dann wieder.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.