[P5B deluxe] [Core2Duo 6300] [2 X 1GB DDR2] [GF FX7300] [320 GB WD] [Gentoo] [VISTA]
voor het gebruiken van een dll moet je van de functie die je wil gebruiken eerst een prototype declareren.
om de dll te laden gebruik je de functie LoadLibrary(), vervolgens kun je GetProcAddress() om de functie te vinden in de dll. Voorbeeldcode heb ik ff niet voor de hand, en het stappenplan komt uit de Help van C++Builder 5. Denk dat dit wel werkt.
Chris
code:
1
| __declspec(dllimport) return_type imported_function_name(parameters); |
om de dll te laden gebruik je de functie LoadLibrary(), vervolgens kun je GetProcAddress() om de functie te vinden in de dll. Voorbeeldcode heb ik ff niet voor de hand, en het stappenplan komt uit de Help van C++Builder 5. Denk dat dit wel werkt.
Chris
www.fendt.com | Nikon D7100 | PS5
Verwijderd
De .lib file van je DLL toevoegen aan je project.
en natuurlijk de header file in je source code zetten.
en natuurlijk de header file in je source code zetten.
Bedankt, maar met deze tips ben ik niet veel verder gekomen.
Ik heb nog een aantal vragen.
Stel ik maak van zoiets een .dll:
#include <stdio.h>
void test(void)
{
printf("gelukt");
}
Ik neem aan dat mijn header er dan zo uit moet zien:
void test(void)
De compiler maakt dan voor mij een .dll en een .lib.
Maar Hoé moet ik nu de functie test() aaroepen in een ander project?
Ik heb nog een aantal vragen.
Stel ik maak van zoiets een .dll:
#include <stdio.h>
void test(void)
{
printf("gelukt");
}
Ik neem aan dat mijn header er dan zo uit moet zien:
void test(void)
De compiler maakt dan voor mij een .dll en een .lib.
Maar Hoé moet ik nu de functie test() aaroepen in een ander project?
[P5B deluxe] [Core2Duo 6300] [2 X 1GB DDR2] [GF FX7300] [320 GB WD] [Gentoo] [VISTA]
Ik gebruik niet C++ builder, maar gewoon Borland c++. Die kent geen LoadLibrary(). Wie helpt me verder???Op zaterdag 23 februari 2002 17:38 schreef FendtVario het volgende:
voor het gebruiken van een dll moet je van de functie die je wil gebruiken eerst een prototype declareren.
code:
1 __declspec(dllimport) return_type imported_function_name(parameters);
om de dll te laden gebruik je de functie LoadLibrary(), vervolgens kun je GetProcAddress() om de functie te vinden in de dll. Voorbeeldcode heb ik ff niet voor de hand, en het stappenplan komt uit de Help van C++Builder 5. Denk dat dit wel werkt.
Chris
[P5B deluxe] [Core2Duo 6300] [2 X 1GB DDR2] [GF FX7300] [320 GB WD] [Gentoo] [VISTA]
Verwijderd
Ander project aanmaken... header file includen die je in je DLL project hebt gebruikt.... bij compilen linken met de .lib file...Op zaterdag 23 februari 2002 19:11 schreef irondog het volgende:
Bedankt, maar met deze tips ben ik niet veel verder gekomen.
Ik heb nog een aantal vragen.
Stel ik maak van zoiets een .dll:
#include <stdio.h>
void test(void)
{
printf("gelukt");
}
Ik neem aan dat mijn header er dan zo uit moet zien:
void test(void)
De compiler maakt dan voor mij een .dll en een .lib.
Maar Hoé moet ik nu de functie test() aaroepen in een ander project?
Verwijderd
Je functie is nu alleen bekend binnen de dll, je moet hem ook nog exporteren. Dit doe je door hem als volgt te declareren :
extern "C" void cdecl __export test(void);
extern "C" void cdecl __export test(void);
Verwijderd
En dan wil je Win32 DLL's aanroepen? Compileert Borland C++ wel naar Win32? Of bedoel je gewoon iets anders?Op zaterdag 23 februari 2002 21:33 schreef irondog het volgende:
Ik gebruik niet C++ builder, maar gewoon Borland c++. Die kent geen LoadLibrary(). Wie helpt me verder???
I.i.g. LoadLibrary() is een Windows API functie waarmee je een DLL kunt 'laden' en waarbij je een handle naar de betreffende library krijgt. Met GetProcAddress kun je een pointer naar een adres in deze library vinden.
Verwijderd
#include <windows.h> al geprobeerd?Op zaterdag 23 februari 2002 21:33 schreef irondog het volgende:
Ik gebruik niet C++ builder, maar gewoon Borland c++. Die kent geen LoadLibrary(). Wie helpt me verder???
Thnx voor de reacties.
Ik ga het nu wel proberen met Borland c++ builder.
Het is me hierbij al gelukt om een .dll te maken en de geëxporteerde functies te gebruiken door de .lib aan het project toe te voegen. (dit lukt me trouwens niet bij borland c++).
Ik zal nu ff proberen om de loadlibrary() te gebruiken.
Het is me hierbij al gelukt om een .dll te maken en de geëxporteerde functies te gebruiken door de .lib aan het project toe te voegen. (dit lukt me trouwens niet bij borland c++).
Ik zal nu ff proberen om de loadlibrary() te gebruiken.
[P5B deluxe] [Core2Duo 6300] [2 X 1GB DDR2] [GF FX7300] [320 GB WD] [Gentoo] [VISTA]
De topictitel suggereert bij mij dat je een dll static wil linken.
Hey ... maar dan heb je ook wat!
Wat is het verschil tussen een static library en een dynamic library?Op maandag 25 februari 2002 15:53 schreef Killemov het volgende:
De topictitel suggereert bij mij dat je een dll static wil linken.
Hoe gebruik ik LoadLibrary(); De help van borland cpp builder zegt hier zeer weinig over. "GetProcAddress" ken hij zelfs niet eens.Op maandag 25 februari 2002 12:06 schreef hvdberg het volgende:
[..]
En dan wil je Win32 DLL's aanroepen? Compileert Borland C++ wel naar Win32? Of bedoel je gewoon iets anders?
I.i.g. LoadLibrary() is een Windows API functie waarmee je een DLL kunt 'laden' en waarbij je een handle naar de betreffende library krijgt. Met GetProcAddress kun je een pointer naar een adres in deze library vinden.
[P5B deluxe] [Core2Duo 6300] [2 X 1GB DDR2] [GF FX7300] [320 GB WD] [Gentoo] [VISTA]
Pagina: 1