Import msado15.dll

Hallo!

Habe eine ADO-Klasse die ich gerne in eine Bibliothek packen würde.

In der Header-Datei importiere ich die msado15.dll.
#import „c:\programme\Gemeinsame Dateien\system\ado\msado15.dll“ no_namespace rename(„EOF“, „EndOfFile“)

Jetzt bekomme ich beim Kompilieren 6 Typneudefinitionsfehler.

Habe aber schon ein Projekt mit dieser Klasse gemacht wo ich einfach nur die Header-Datei und die cpp-Datei hergenommen habe und das hat einwandfrei funktioniert.

Kann mir vielleicht jemand sagen an was diese Fehler liegen können bzw. was ich dagegen tun kann.

Wäre auch toll wenn mir jemand mal ganz kurz erklären könnte wie so ein #import funktioniert.
Packt er da die zu importierende dll in die Bibliothek, oder greift er erst zur Laufzeit darauf zu?

Danke und Gruß

Daniel

Hi Daniel,

In der Header-Datei importiere ich die msado15.dll.
#import „c:\programme\Gemeinsame
Dateien\system\ado\msado15.dll“ no_namespace rename(„EOF“,
„EndOfFile“)
Jetzt bekomme ich beim Kompilieren 6 Typneudefinitionsfehler.

Wenn der #import vor allem anderen gemacht wird (und die Header-Datei als erstes included wird), sollte eigentlich keine Redefinition stattfinden (können). Ansonsten wäre interessant, wessen und welche Redefinition angemosert werden.

Wäre auch toll wenn mir jemand mal ganz kurz erklären könnte
wie so ein #import funktioniert.
Packt er da die zu importierende dll in die Bibliothek, oder
greift er erst zur Laufzeit darauf zu?

#import sorgt dafür, dass die Interface-Beschreibung (Type Library) im Projekt abgelegt wird. Es wird sozusagen eine Headerdatei erzeugt. Mit der DLL hat das nicht viel zu tun, die wird wie immer beim Programmstart bzw. bei Bedarf geladen.

Gruß
Clemo

Habs schon gefunden!

Der Assistent hat mir automatisch in der stdafx.h den include für die DAO Klassen gemacht.

Und laut Microsoft benützen DAO und ADO die gleichen Definitionen, sind aber doch irgendwie unterschiedlich.

Gruß

Daniel

Der Assistent hat mir automatisch in der stdafx.h den include
für die DAO Klassen gemacht.

Das hätte ich Dir auch gleich sagen können :smile: