Avatar billede susrn Nybegynder
26. marts 2003 - 09:35 Der er 1 kommentar og
1 løsning

bruge dll fra BCB6

Jeg har lavet en dll via BCB's wizard.

Når jeg forsøger at importere dll'en, via Project\Import Type Library, kommer der en fejl når jeg har fundet min dll og trykket add. Den siger: "Fejl under indlæsning af type-DLL.".

Hvad gør jeg galt? Eller hvordan burde jeg gøre? Eksempel kode er velkommen.
Avatar billede susrn Nybegynder
26. marts 2003 - 10:54 #1
jeg har fundet en anden vej at importere min dll i et tidligere svar fra soreno http://www.eksperten.dk/spm/273954
jeg bruger hans eksempel, load af dll går fint , MEN kaldet
dllFunc = (DLLFunc)GetProcAddress(dll, "getNumber");
giver dllFunc == NULL, hvorfor mon det??

#pragma argsused
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
    return 1;
}
//---------------------------------------------------------------------------
extern "C" __declspec(dllexport) int getNumber();

//---------------------------------------------------------------------------

int getNumber()
{
  return 12345;
}

int getNumber();
typedef int ( *DLLFunc)();

int getNumber()
{
  HINSTANCE dll;
  DLLFunc dllFunc;
  int number = 67;

  dll=LoadLibrary("Project3.dll");
  if(dll != NULL)
  {
      dllFunc = (DLLFunc)GetProcAddress(dll, "getNumber");
      if(dllFunc != NULL)
      {
        number = dllFunc();

        if(!FreeLibrary(dll))
        {
            ShowMessage("*error* FreeLibrary\n");
        }
      }
      else
      {
        if(!FreeLibrary(dll))
        {
            ShowMessage("*error* FreeLibrary\n");
        }
        //ShowMessage("*error* GetProcAddress\n");
        return 67;
      }
  }
  else
  {
      ShowMessage("*error* LoadLibrary\n");
  }
  return number;
}
Avatar billede susrn Nybegynder
27. marts 2003 - 08:25 #2
jeg har selv fundet svaret, se følgende
extern "C" __declspec(dllexport) int __stdcall getNumber();

    int __stdcall getNumber()
    {
        ...
    }
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