Dynamisk indlæsning af funktioner fra DLL
Jeg er ved at lave et program, der består af to hovedelementer : database adgang og USB kommunikation.For at kunne bruge USB funktionaliteterne, skal der være en DLL fil installeret. Hvordan får jeg mit program til at kontrollere, at filen er der ?
Lige nu bruger jeg
function FuncName(paramList): returnType; stdcall; External DLLName name 'FuncName';
til at få fat på funktionerne i DLL'en. Men hvis filen ikke er installeret på maskinen, får man en fejlmelding med det samme, man starter programmet, at "Filen name.dll ikke findes".
Jeg har læst mig frem til "LoadLibrary" og "GetProcAddress", men har ikke fået det til at virke.
Den æder "@FuncName := GetProcAddress(DLLHandle, 'FuncName');", men når jeg kalder funktionen i min kode, får jeg følgende fejlmelding : "Too many actual parameters". Jeg har checket i DLL dokumentationen - der er det rigtige antal parametre. Og jeg har prøvet at erklære samme funktion med "stdcall; External" - der virkede det.
