Avatar billede deamill Nybegynder
24. juli 2002 - 10:14 Der er 7 kommentarer og
3 løsninger

DLLs i Visual C++

Når jeg prøver at anvende en dll, jeg har lavet får jeg følgende fejl : Fatal error C1083: Canot open type libary file: 'C:\MinDll_Lib.dll": Error loading type library/DLL.

Her er hvad jeg gør:
#import <C:\MinDll_Lib.dll>
int _tmain(int argc, _TCHAR* argv[])
{
    return 0;
}

Er det mon fordi DLLen er lavet som forkert type, eller linker jeg forkert til den?

DLLen er også lavet i Visual C++
Avatar billede jpk Nybegynder
24. juli 2002 - 10:21 #1
Er der ikke blevet genereret et typelib sammen med dll'en (en .tlb-fil)
I så fald kan du bruge den istedet.
Avatar billede deamill Nybegynder
24. juli 2002 - 10:28 #2
nææ, men der er :
dll
ilk
obj
pch
pdb
Avatar billede jpk Nybegynder
24. juli 2002 - 10:32 #3
Hvilken type dll er det, COM?
Avatar billede deamill Nybegynder
24. juli 2002 - 10:34 #4
Det er her jeg er lidt i tvivl, jeg har ikke så meget erfarring med dll'er i C++.

Ved start valgte jeg Win32 standard application -> targer=DLL
Avatar billede jpk Nybegynder
24. juli 2002 - 10:43 #5
Hvilken version af VC++ bruger du?
"Jeg har ikke nogen "Win32 Standard Application", men derimod fx "Win32 Static Library".
Avatar billede deamill Nybegynder
24. juli 2002 - 10:55 #6
Jeg bruger .NET

Altså når jeg vælger new project, så vælger jeg W32 Standard App.

Når næste skærm så popper op kan jeg under applicaton settings vælge
Console Application
Windows Application
DLL
Static DLL

Her har jeg bare valgt DLL
Avatar billede jpk Nybegynder
24. juli 2002 - 11:19 #7
I VC++ 6.0 under Project->Settings, fanebladet "Link", kan man angive hvilke lib's man vil linke med, fx: C:\MinDll_Lib.obj
Avatar billede soepro Nybegynder
02. august 2002 - 13:53 #8
Som jpk skriver, mangler du .tlb-filen - sådan som fejlbeskeden skriver. Mon ikke MVC indeholder et tool til at lave en .TLB fil udfra din DLL ?

I C++ Builder anvendes implib utility'en til at lave et import library ud fra DLL'en, hvorved du så blot skal linke det i dit projekt for at bruge DLL'en. Måsker har MVC noget der ligner ?!?!
Avatar billede reficul Nybegynder
26. august 2002 - 02:43 #9
Entry i en DLL skal være:

BOOL WINAPI DllMain (HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpReserved) {
}

De funktioner, du vil eksportere kan du evt. definere i en .def fil:

Eks:

LIBRARY dllnavn
EXPORTS
  function1
  function2


Tilføj så "/def:filnavn.def" til link.exe (Hvis ikke den er tilføjet i forvejen)
Avatar billede soepro Nybegynder
26. august 2002 - 09:31 #10
deamill >> Skal din import ikke se sådan her ud, når du vil angive path'en direkte:

#import "C:\MinDll_Lib.dll"

Det skal den i BCB !
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester