


Cyfrowy Baron napisał(a):... możesz stworzyć sobie biblioteki DLL. Można oczywiście ładować biblioteki dynamicznie, czyli tylko wtedy gdy są potrzebne.

Tworzenie DLL.
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
extern "C" __declspec(dllexport) void About();
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
HANDLE DLLHandle = LoadLibrary("E:\\Moje Dokumenty\\RAD Studio\\Projects\\ĆWICZENIA\\DLL\\cw\\dll\\Debug\\Project1.dll");
if(DLLHandle != NULL)
{
typedef (*aAbout)(); // Deklaracja wskaźnika do funkcji.
aAbout About = (aAbout)GetProcAddress(DLLHandle, "_About");
if(About != NULL) About();
}
else // jeśli nie znaleziono biblioteki.
{
ShowMessage("Nie znaleziono wymaganej biblioteki 'Project1.dll'");
}
FreeLibrary(DLLHandle); // usunięcie biblioteki z pamięci, gdy jest już zbędna.
}
//---------------------------------------------------------------------------//---------------------------------------------------------------------------
#include <vcl.h>
#include <windows.h>
#include "Unit1.h"
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
extern "C" __declspec(dllexport) void About();
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
return 1;
}
//---------------------------------------------------------------------------
void About()
{
Form1->Label1->Caption = "A";
}
Dzięki za info. Zrobiłem ćwiczenia z tematu dynamiczne podłączanie biblioteki dll i mam pytanie. jak do gotowego już projektu wygenerować i podłączyć dynamicznie dll ?


dynamiczne podłączanie biblioteki DLL.


Powrót do Ogólne problemy z programowaniem
Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 6 gości