Results 1 to 11 of 11

Thread: gebruik van resource-file en/of dll?

  1. #1

    gebruik van resource-file en/of dll?

    Voor mijn toepassing (samen met delphiX) zou ik een redelijk aantal bmp's nodig hebben. Ze zijn allemaal wer relatief klein maar samen is dat toch groot. Ik heb er reeds een groot aantal in een imagelist gezet. Maar uiteraard hoe meer er daar instaan, hoe groter de exe wordt. (Dit is toch correct?)
    Nu heb ik ze in een resource-file gezet maar als ik deze in mijn "hooftunit" zet staan alle bmps weer in die exe.
    Is het mogelijk om een resourcefile te koppelen aan een dll of zo? Dan kan ik de bmp's die ik nodig heb daar halen en dan blijft de exe toch beperkt in formaat. Ook zou ik dan misschien makkelijker een bmp kunnen veranderen zonder het programma te hercompileren maar enkel de dll. In die dll zou dus niet veel moeten staan, enkel die resource file.

    Ik heb nog nooit met een dll gewerkt. Onze delphi cursus op school is redelijk beperkt en dat komt er natuurlijk niet in voor.

  2. #2
    Senior Member PsychoMark's Avatar
    Join Date
    Nov 2001
    Location
    Raamsdonksveer
    Posts
    10,269
    Ja, dat kan. Je moet dan als hInstance die je normaal meegeeft de handle meegeven die je terugkrijgt van LoadLibrary.

    Maar wat ik me dan afvraag: waarom een resource DLL en niet gewoon de BMP's los erbij zetten? Voor spellen heb ik dat nooit een bezwaar gevonden... maar goed, het is iig wel mogelijk zoals ik al zei...
    Qui custodiet ipsos custodes

  3. #3
    Dat had ik ook gedacht om ze er los erbij te zetten maar ik vond het wat vervelend (overdreven misschien) om daar zoveel bmptjes erbij te zetten. 'k zal het eventueel toch nog eens proberen.

    Hoe ziet zo'n dll er dan uit? 'k heb in de help al wat gezocht maar ik geraak er niet echt uit.
    Is de aanroep van de resource dan hetzelfde zoals je normaal zou doen?

  4. #4
    Senior Member PsychoMark's Avatar
    Join Date
    Nov 2001
    Location
    Raamsdonksveer
    Posts
    10,269
    De DLL is gewoon kaal, bij een nieuw DLL project gewoon de uses verwijderd en deze regel toegevoegd:

    {$R MyResources.RES}


    ...en compilen maar. Dan doe je MyHandle := LoadLibrary('dllname.dll'), die handle kan je dan gebruiken in bijvoorbeeld Bitmap.LoadFromResourceName(MyHandle, 'resourcename'), achteraf FreeLibrary(MyHandle) doen en voila
    Qui custodiet ipsos custodes

  5. #5
    Het is toch wel fijn dat de bmp's dan niet zomaar zichtbaar zijn voor de gebruiker, die kan dan immers er allerlei rare dingen mee gaan doen waardoor allerlei AV's opduiken.
    Dan zul je zeggen 'eigen schuld', maar k vind het toch fijner als mijn programma's ook voor heel onervaren gebruikers, of mensen die graag 'experimenteren' (lees: de boel naar de kl*te helpen) 'veilig' zijn

  6. #6
    Senior Member PsychoMark's Avatar
    Join Date
    Nov 2001
    Location
    Raamsdonksveer
    Posts
    10,269
    Daarom gebruik ik liever bijvoorbeeld ZLib (soort van ZIP maar dan net niet helemaal compatible dus niet te openen met WinZip) in dat soort gevallen, dan kunnen ze er ook niet met Resource Hacker bij en heb je kleinere BMP's zonder kwaliteitsverlies of het gezeur van ingewikkelde PNG formaten e.d.
    Qui custodiet ipsos custodes

  7. #7
    Dat is wel een uitkomst ja, ik zal dat eens bekijken

  8. #8
    Counting your refs Paul-Jan's Avatar
    Join Date
    Feb 2002
    Location
    Lage Zwaluwe
    Posts
    2,160
    Wat is trouwens het probleem van een grote executable (aangenomen dat je wel met resources werkt)?

  9. #9
    Waarom ik liever met resources of dll of zo zou werken:
    - de exe is natuurlijk kleiner als de bmp's er niet allemaal instaan maar dat is niet de hoofdreden
    - het is eigenlijk vooral omdat dan de bmp's kunnen aangepast worden zonder dat de rest (de exe en zo) moet gewijzigd worden. En als je van bepaalde figuren verschillende versies hebt is het makkelijker om een andere resource op te roepen dan alle figuren in je exe te hebben (dat denk ik toch).

  10. #10
    Dat is dan misschien bij de grotere applicaties het geval, maar als ik in mijn programma's de plaatjes wil veranderen hercompile ik de resources en mijn programma gewoon....

  11. #11
    Senior Member PsychoMark's Avatar
    Join Date
    Nov 2001
    Location
    Raamsdonksveer
    Posts
    10,269
    Nadeel is weer dat als je veel resources hebt (wat vaak zo is bij spellen) dan zit je alsnog met een reusachtige DLL . Vandaar mijn suggestie voor losse bestanden, al of niet bewerkt met bijvoorbeeld ZLib of andere technieken die de bestanden onleesbaar maken...
    Qui custodiet ipsos custodes

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •