Avatar billede cms Nybegynder
05. december 2000 - 16:33 Der er 13 kommentarer og
2 løsninger

Samling af forms osv. i bpl eller dll

Hej derude !

Jeg vil lave et par programmer, der skal køre sammen. Dvs. to exe-filer for samme program. Det kan ikke diskuteres - sådan er det bare! ;o)

Men så ville jeg høre, om det var muligt at placere nogle af de units, som begge apps bruger, i en bpl- eller dll-fil?
Jeg har prøvet at oprette en package og puttet lortet ind i den - dvs. forskellige units, som ligger i vcl50.bpl (bare for at prøve) - plus nogle fælles-units. Det eneste jeg fik ud af mine anstrengelser var en dcu-fil på 3K. Og den kan jeg jo ikke bruge ;o(

Et andet tilfælde: Jeg har installeret i Delphi nogle meget meget tunge komponenter med over 30.000 linjer kode. Dem ville jeg ligeledes gerne have placeret væk fra min egen kode (dvs. ind i fx bpl eller dll) - så compileren ikke behøvede bruge tid på dem hver gang jeg havde ændret et enkelt tegn i hovedapp\'en.

Håååber virkelig, det kan lade sig gøre.

På forhånd tak,

cms
Avatar billede borrisholt Novice
05. december 2000 - 16:44 #1
Du kan starte med af afinstalere de komponenter, som er ikke borland Standard og som begge programmer. Der efter instalerer du dem igen i en ny Package. Den er VIGTIGT at den hedder enten Rensdyr eller Hest.

Så linker du den DYNAMISK på dine projekter ... Så er du i hvertfald ude over meget dobbelt kode ...

Har du der udover nogle hjælpe units kan du med fordel ligge dem i en DLL fil.

Jens B
Avatar billede cms Nybegynder
05. december 2000 - 17:22 #2
hvad så med forme - som jo hverken er komponenter eller funktioner?

kan man registrere dem via RegisterClass - og så kalde dem igen. dvs. implementere kaldene til koden, men uden koden. dvs. via en dll - ??
Avatar billede borrisholt Novice
05. december 2000 - 17:26 #3
Fælles forme i DLL filer !

Jens B
Avatar billede cms Nybegynder
06. december 2000 - 08:50 #4
Ja, okay.

Men hvis jeg så gerne vil lave nogle bpl-filer til mig selv... Hvordan gør jeg så det?

Jeg kunne forestille mig, at jeg lavede én, som hed d5common.bpl - med alle de normale units og komponenter i. Altså alle dem, som man bruger i en standard form.
Så kunne jeg lave en bpl til de fælles komponenter og forme - og så lade resten være.

Grunden til dette er, at jeg gerne vil spare mest mulig plads, så den samlede filstørrelse er mindst mulig. Og hvis jeg bruger vcl50.bpl som dynamic (runtime), så fylder den 1,9 Mb upakket og 500 Kb pakket. Hvis jeg bare laver en tom form, bliver exe-størrelsen ca. 300 Kb.

Jeg ville derfor gerne lave en skræddersyet bpl til de programmer, jeg lavede.
Men kan en komponent godt være registreret i to packages - og hvordan kompilerer man overhovedet en dpk til en bpl ?????
Avatar billede cms Nybegynder
06. december 2000 - 21:59 #5
okay. jeg fandt ud af at lave bpl-filer selv. når man kompilerer package\'n bliver de lagt i ($DELPHI)\\Projects\\Bpl

problemet er bare, at de her bpl\'s stadig fylder mere, end hvis man inkluderer dem i selve exe-filen.

derfor valgte jeg at skrive de to programmer ind i én og samme exe-fil. derved sparede jeg ca 500 Kb. - og det er jo unægtelig noget, når det er beregnet til download fra nettet.

jeg vil lade spørgsmålet være åbent et par dage endnu. hvis der er andre, der har gode forslag.
ellers lukker jeg og giver borrisholt 100 point for hjælpen.
Avatar billede borrisholt Novice
07. december 2000 - 09:11 #6
cms>>
Jammen lille pus dog ....

Du førsøger at lave en blindtarms operation på en myre med bokse hansker på! lad dog den stakkels myre være i fred !

Delphi laver store EXE filer sådan er det ! Problemer er at du får en masse ekstra kode med ind i exe filer, alt det kode Borland har skrevet for at gøre det let for dig. Altså når du beder on en form får du hele VCL bibloteket med ind i din exe fil.

Skal du absolut lave små exe filer skal du selv skive dine kontroller, og for alt i verden undgå at Resourcen. I stedet skal du genere dine skærm billeder dynamisk. Et meget stor arbejde, men så afgjort ikke umuligt.

Ellers skal du blot acceptere størelsen på exefilerne ... Any wway hvis du nøjes med at ligge fælles forme og klasser i DLL filer så har du sparet en del ...

Jens B
Avatar billede cms Nybegynder
07. december 2000 - 09:35 #7
haha. herligt med folk med humor !!

ja - jeg ved det godt.

men da mine to programmer - som er dels et ftp-program, og en notepad-klon - er ret komplexe med et stort udvalg af kontroller - tja, så er det nok umuligt ;o)

specielt når man tænker på den tid, jeg har til rådighed...


men hvis I ikke allerede kender det - så brug ASPack. det er temmelig billigt. faktisk gratis til privat brug (så vidt jeg husker).

det reducerede min exe-fil (altså den med begge programmer) fra 1,6 Mb til 500 Kb.

Flot, ik?

Forresten irriterer det mig grusomt, at Borland ikke har aftalt med Microsoft at få installeret vcl50.bpl og vclx50.bpl og nogle af de andre livsvigtige libraries i Windows fra starten. Så ville alle vores exe-filer jo kunne fylde sådan cirka 90% mindre...
Avatar billede cms Nybegynder
07. december 2000 - 09:36 #8
det har de jo gjort med flere forskellige andre sprog.

det er måske i virkeligheden derfor, at exes fra andre sprog fylder mindre.

deres libraries er installeret !!!!!

kapitalismen længe leve...
Avatar billede borrisholt Novice
07. december 2000 - 09:46 #9
Som det sikkert er dig bekendt så er det MFC klasserne der gør at exe fra MS VC++ så små, lige ledes ligger der libraies til Visual Basic. Det er ligeledes et Microsoft produkt.

Borland har forsøgt at få deres BPL filer lagt ind i windows, men ind til videre så uden held.

De står dig jo frit for at kalde MFC klasserne ...

Jens B
Avatar billede cms Nybegynder
07. december 2000 - 09:52 #10
tja. jeg er desværre ret ensporet med hensyn til programmeringssprog.

jeg kan bare sukke over, at der ikke er flere programmer til delphi der ude.

for så ville alle have installeret bpl og kun behøve downloade et par Kb. (eller lidt mere)

der mangler bare nogle, der tør!
Avatar billede borrisholt Novice
07. december 2000 - 10:08 #11
Hmmn .. Måske man skulle lave en konkurencr om hvem der kunne lave den mindste notepad klon ? Er du firsk ? Den skal være 100% magen til ! Alt er tilladt, dog ikke dynamisk linkning ! Men ellers pakning af exe filer og hvad ellers du kan finde på ?

Jens B
Avatar billede cms Nybegynder
07. december 2000 - 11:37 #12
Ha - god ide!!!

Jeg bliver jo nok nødt til at skrive min en del om. Min notepad-klon havde en HEL masse features, som fylder mere end 400 Kb ekstra.

Men 100% magen til. Iorden med mig.
Jeg opretter straks en konkurrence på cnt.dk

Men vi skal lige have formuleret reglerne med dynamisk linkning - og hvilke sprog, der må bruges !!


;o)
Avatar billede borrisholt Novice
07. december 2000 - 11:40 #13
Jammen det er da ikke så svært :

Vi laver bare nogle kategorier :

1) Delphi dynamisk linkning
2) Delphi statisk linking
3) C++ med MFC i statisk biblotek
4) C++ med MFC i dynamisk biblotek

Jens B
Avatar billede cms Nybegynder
07. december 2000 - 12:00 #14
okay. prøv at tage et kik på cnt.dk
Avatar billede cms Nybegynder
25. februar 2001 - 14:59 #15
bøh
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester