kompilowanie DLL do programu

0

Witam,
Czy można zrobić tak by biblioteka DLL była wkompilowana w program (taki resource), a nie plikiem zewnętrznym? Chodzi o to by nie można było sobie jej odłączyć od programu.

0

Jasne. Tutaj masz przykład: http://delphi.about.com/od/windowsshellapi/a/delphi-load-resource-dll-into-memory.htm
Mimo to, jak ktoś bardzo będzie chciał to zawsze może sobie wypakować dll z zasobów.

0

To przepisz kod funkcji z DLL do aplikacji, to nie będzie można go "odłączyć";

Można kombinować na wiele sposobów, ale skoro chcesz mieć kod w aplikacji, to po co Ci biblioteki DLL? One służą właśnie po to, aby dany kod był wydzielony do zewnętrznego pliku, oraz aby z takiego pliku (jego zawartości - procedur, funkcji, zasobów itd.) mogły korzystać inne aplikacje, napisane w różnych językach programowania;

Możesz wpakować plik DLL do zasobów aplikacji i ładować go do pamięci; Ja tego nigdy nie robiłem i robić nie będę, ale z tego co pamiętam @olesio bawił się w ten sposób i działało (zapewne pod Delphi7); Tylko że dodanie biblioteki do zasobów aplikacji nie uchroni użytkownika przed skorzystaniem z narzędzi do przęglądania "wnętrza" pliku wykonywalnego - bibliotekę nadal będzie można łatwo pozyskać, wypakowując ją z zasobów;

Lepiej by było gdybyś napisał co chcesz osiągnąć - może można by coś sensowniejszego doradzić.

0

Właśnie biblioteka u mnie jest napisana w C, dlatego mam ją jako DLL.

Dziękuję i sprawdzę co mi się uda zrobić.

0

To zrób z tego bibliotekę i zlinkuj statycznie.

0

Kiedyś podsyłałem ten moduł, co dołączony do tego posta. Ponoć pod Lazaruem i nowszymi Delphi, trzeba pozmieniać chyba na AnsiString niektóre typy w kodzie unitu. Ale autorze wątku: wykaż się trochę samodzielnością. I sobie wygoogluj wątki na ten temat z tego forum. Gdyż temat był - z tego co kojarzę, wielokrotnie "wałkowany".

1 użytkowników online, w tym zalogowanych: 0, gości: 1