Dynamiczne ładowanie pliku DCU do programu i wykonywanie go.

0

Mam pytanko czy dałoby się dynamicznie załadować plik dcu do programu i wywołać z niego funkcję/procedurę ?
Chodzi mi o to by działało to jak by zawsze ta część binarki była w aplikacji

0

Nie możesz wrzucić tego do biblioteki DLL i wtedy ładować ją kiedy Ci się podoba ?

0

Tak wpadłem na ten pomysł wcześniej, ale dla przykładu Dialogs, Forms, SysUtils itp mam zawarte w programie w dll murze dać to samo żeby mi się skompilował dll. Taki Unit skompilowany (dcu) co ma 8K a dll z tymi bajerami ma 400K no jak mam ty dll 10 to mam ~4MB a nie 50 KB właśnie o to mi chodzi no i jeszcze załadowana biblioteka zajmuje więcej miejsca w pamięci.

0

poczytaj o bplach

0

to fakt mam zamiast 400, 24 ale jednak jest to 24 niż 8 ;]
ale co do samego tematy to jest taka opcja czy raczej nie ?

a i czy bark bpl nie będzie zawadzał jeżeli na innym sprzęcie nie będzie borlandowskich dll'ków ?

0

1 nie ma
2 będzie

0

Tak wpadłem na ten pomysł wcześniej, ale dla przykładu Dialogs, Forms, SysUtils itp mam zawarte w programie w dll murze dać to samo żeby mi się skompilował dll.

Ignorując bardzo trudny do odkrycia błąd ortograficzny, który jest tak mocny, że nawet forum go nie łapie: Nie musisz dać tego samego, jeżeli odpowiednio wszystko zaprojektujesz.

dll z tymi bajerami ma 400K no jak mam ty dll 10 to mam ~4MB

Po co ci 10 dllek w których masz te same unity ładowane? Jestem pewien że da się zmniejszyć ilość dllek/zaprojektować to tak żeby nie wszystkie potrzebowały wszystkich unitów.

Jeżeli chodzi o pluginy (a pewnie chodzi), to ja bym to zrobił tak żeby to główna aplikacja zarządzała formą a dllka miałaby jakieś api którego by używała do tworzenia form. Dzięki temu możesz robić bardzo małe dllki. Innym wyjściem jest stworzenie jakiegoś kompresatora, który opierałby się na fakcie, że każda z tych dllek ma duże powtarzające się fragmenty a potem ją dekompresował w locie (no, niby da się zrobić żeby linkowało wszelkie moduły do oryginalnej aplikacji, ale to już jest strasznie skomplikowane i wymagana jest ta sama wersja kompilatora).

0

zawsze możesz się zainteresować KOL and MCK Library

0

Misiekd ma rację. Ja osobiście moge polecić to co On już mi kiedyś polecił. Na tej stronie jest wiele ciekawych plików oraz informacji, ale najbardziej do gustu przypadło mi to: http://kolmck.net/sys/SysDcu7.zip świetnie nadaje się do pisania pod Delphi 7 w czystym WinAPI, dzięki czemy exeki są jeszcze mniejsze przez UPX'owaniem, a po nim to już w ogóle miodzio. Nie wiem czy dało by się jeszcze mnie wycisnąć pod tą wersją. Ja osobiście jestem zadowolny. i dlatego jeżeli narzekasz na rozmiar tworzonych dllek czy exeków, postaraj się pisac w WinAPI. Pisze się dłużej i trzeba obsłużyć mnóstwo rzeczy samodzielnie, ale od czego jest MSDN oraz http://www.angelfire.com/hi5/delphizeus jak i mnóstwo stron z przykładowymi kodami również w C++, które często można łatwo przetłumaczyć wspierając się informacjami z MSDN'a. Polecam też zdobyć/kupić wersję Enterprise Delphi lub inną, którą nie musimy instalować, ale dołączone moduły VCL i systemowe oraz samo Windows.pas bardzo się mogą przydać przy wykorzystywaniu wielu rozwiązań w WinAPI bez potrzeby odwołania do VCL. Ja na przykład aktualnie klecę program, który ma działać (i wstępnie już działą) jak moduł Getright Browser w starych wersjach GetRighta, tylko że prościej. Nie ma być logowania. Ot wyłuskanie linków z kodu html strony i możliwość ich otwarcia lub skopiowania do schowka. Bo OGET, prosty pobieracz linków bezpośrenich po HTTP już wstępnie napisany i testuje jego wersje 0.1. Ktoś pewnie zaraz napisze, że są przecież JDownloader, a linki z www można kopiować jakimiś pluginami pod konkretną przeglądarkę www. Ale JDownloader jest powolny w uruchomieniu nawet na szybiej maszynie i pisany pod kątem pobierania z hostingow. A poza tym pisząc coś samodzielnie więcej się można nauczyć. A w WinAPI z użyciem SimpleTCP programy są w miarę małe i zgrabne, a do tego można przy odrobinie chęci uczynić je bardzo funkcjonalnymi. Także podsumowując wybaczcie rozpisanie się i polecam zabranie się za pisanie w WinAPI. Pod Delphi to według mnie pikuś jeżeli chodzi o podstawy. A przynajmniej w miarę prostych programów. Ja kilkanaście ostatnich programów (w tym większośc downloaderów pod adresem z mojej sygnaturki) napisałem/przepisałem właśnie w/do WinAPI.

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