Results 1 to 8 of 8

Thread: Customform.inc

  1. #1
    Member
    Join Date
    Mar 2008
    Location
    Etten-Leur
    Posts
    92

    Customform.inc

    Nog een paar vraagjes:

    Mijn .exe bestand is 2 x zo groot als toen het gecompileerd werd met Delphi,
    Heeft dit te maken met het Customform.inc ?
    Moet dit hierbij blijven ?


    Hoe kan ik het exe bestand een .ico meegeven ?


    Bij het bouwen krijg ik bij de berichten de melding "Local variable MSG does not seem to be initialised".

    Code:
    procedure EmptyKeyQueue;
    var
      Msg: TMsg;
    begin
      while PeekMessage(Msg, 0, WM_KEYFIRST, WM_KEYLAST,
        PM_REMOVE or PM_NOYIELD) do;
    end;
    Haal ik de regel met MSG onder VAR weg dan compileerd hij het programma niet.
    De procedure doet wel zijn werk na het compileren.

  2. #2
    Quote Originally Posted by Kees55 View Post
    Mijn .exe bestand is 2 x zo groot als toen het gecompileerd werd met Delphi,
    Heeft dit te maken met het Customform.inc ?
    Nee, dat heeft daar niets mee te maken.
    Dit is een gewoonte van het Lazarus team om interface en implementatie van units gescheiden te houden en soms verder opgesplitst in overzichtelijke delen.

    Wat betreft de grootte van de executable, zie Lazarus faq op de wiki.


    Quote Originally Posted by Kees55 View Post
    Hoe kan ik het exe bestand een .ico meegeven ?
    Menu -> Project -> Project options
    Aldaar de mogelijkheid om het standaard Lazarus icoon te wijzigen.

    Quote Originally Posted by Kees55 View Post
    Bij het bouwen krijg ik bij de berichten de melding "Local variable MSG does not seem to be initialised".

    Code:
    procedure EmptyKeyQueue;
    var
      Msg: TMsg;
    begin
      while PeekMessage(Msg, 0, WM_KEYFIRST, WM_KEYLAST,
        PM_REMOVE or PM_NOYIELD) do;
    end;
    De 1e parameter van PeekMessage is var (by reference dus).
    De compiler waarschuwt dat, voorafgaand aan de 1e call, Msg geen bepaalde waarde heeft.
    Dit is mogelijk niet belangrijk voor jouw doeleinde (geen idee hoe peekmessage werkt), dus dan kun je dit negeren.

    Bart
    Last edited by Bart B; 04-Jan-12 at 03:43. Reason: typo

  3. #3
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    10,357
    Quote Originally Posted by Kees55 View Post
    Nog een paar vraagjes:

    Mijn .exe bestand is 2 x zo groot als toen het gecompileerd werd met Delphi,
    Een recente versie?

    Heeft dit te maken met het Customform.inc ?
    Nee, systemen worden gewoon steeds ingewikkelder (b.v. multi monitor support, themes enz), en b.v. D7 heeft dat (deels) niet of versimpeld.

    Moet dit hierbij blijven ?
    Is het een probleem?

    Bij het bouwen krijg ik bij de berichten de melding "Local variable MSG does not seem to be initialised".

    Code:
    procedure EmptyKeyQueue;
    var
      Msg: TMsg;
    begin
      while PeekMessage(Msg, 0, WM_KEYFIRST, WM_KEYLAST,
        PM_REMOVE or PM_NOYIELD) do;
    end;
    Melding gewoon rustig laten staan.

  4. #4
    Member
    Join Date
    Mar 2008
    Location
    Etten-Leur
    Posts
    92
    Zomaar vluchtig gekeken, het was veel meer dan de 2 keer.
    Ik ben begonnen met een Acorn Electron met cassette toen elke kB telde.
    Beetje een tik overgehouden denk ik.

    Ik werk nu met lazarus-0.9.30-fpc-2.4.2-win32

    Het Turbo Delphi Explorer programma was 569 KB
    Het Lazarus programma 12.676 KB
    Na de tip van Bart (Strip.exe) 1.522 KB

    Dus is het nu nog bijna 3 x zo groot.

  5. #5
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    10,357
    Turbo Delphi is 6 jaar oud, je moet een huidige Lazarus/FPC (0.9.30 is uit lente 2011 geloof ik) vergelijken met een huidige Delphi :-)

    De huidige grootte is het resultaat van afwegingen die de huidige tijd aan ontwikkelaars stelt.

    Als je speciale eisen hebt, blijft het belangrijkste punt echter is dat je het hele systeem (lazarus+FPC en op niet-windows binutils) geheel in source hebt. Als je het echt super belangrijk vindt, kan je het helemaal afvijlen. Er is daarbij slechts een grens aan creativiteit en tijd die je daar in wil steken.

    Zie ook Thaddy's favoriete pagina, http://wiki.freepascal.org/Size_Matters

  6. #6
    Senior Member Thaddy's Avatar
    Join Date
    Dec 2004
    Location
    Amsterdam
    Posts
    2,211
    Lazarus heeft (HAD WEET IK ZEKER) er een handje van om vooral niet de libraries aan te bieden voor smartlinking.
    Het is essentieel voor de grootte van je exe dat de HELE library beschikbaar is in een smartlink versie! Dat is volgens mij default niet het geval. Dat moet je zelf doen.
    De maintainers van Lazarus kijken niet op een Mbijtje meer of minder, ze zijn het gewend.
    Realistisch gezien, met alle optimalisaties mogelijk voor size en smartlinking, is het wel wat groter maar zeker geen 100% na smartlink compile van alle libraries.

    Je kan de opties meegeven aan make.

    Dat gezegd: ik gebruik zelden Lazarus, dus ik kan het fout hebben. (Maar erg vaak FPC)
    Last edited by Thaddy; 07-Jan-12 at 20:58.
    Werken aan Ansi support voor Windows is verspilde tijd, behalve voor historici.

  7. #7
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    10,357
    Tsja, dan compileer je het toch zelf? Doe ik sowieso, en al helemaal voor embedded targets.

  8. #8
    Senior Member Thaddy's Avatar
    Join Date
    Dec 2004
    Location
    Amsterdam
    Posts
    2,211
    Quote Originally Posted by marcov View Post
    Tsja, dan compileer je het toch zelf? Doe ik sowieso, en al helemaal voor embedded targets.
    Dat schreef ik toch ook? (althans bedoelde ik)
    Maar het wordt niet standaard aangeboden door Lazarus zelf..
    Er is geen zuivere scheiding tussen debug en release vwbt de libraries.

    Zeker voor beginners is dit erg verwarrend.
    Werken aan Ansi support voor Windows is verspilde tijd, behalve voor historici.

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
  •