Results 1 to 8 of 8

Thread: Variabele assigned in Record ????

  1. #1
    TD5user
    Join Date
    Sep 2002
    Location
    Den Bosch
    Posts
    210

    Variabele assigned in Record ????

    De volgende vraag:

    Ik heb een record met daarin een variabele 'aLabel' van het type TLabel. Wanneer ik het record aanspreek dan is de variabele 'aLabel' al assigned.
    Zie volgende code:
    Code:
      TTest = record
        aLabel : TLabel;
      end;
    
      procedure TForm1.Button1Click(Sender: TObject);
      var
        aTest : TTest;
      begin
        if assigned(aTest.aLabel) then showmessage('assigned!');
      end;
    Deze code geeft wel een showmessage. Hoe kan dit ?

    En belangrijker: Hoe kan ik er dan WEL achterkomen of de variabele 'aLabel'
    echt gecreeerd is. Dus na een 'aLabel := TLabel.Create' wil ik pas een
    showmessage geven.

    Mvg

  2. #2
    assigned kijkt volgens mij alleen of iets nil is
    delphi help assigned: Tests for a nil (unassigned) pointer or procedural variable.
    Bij het creeren wordt er denk ik wel al een pointer aangemaakt. correct me if im wrong.
    jakees

  3. #3
    TD5user
    Join Date
    Sep 2002
    Location
    Den Bosch
    Posts
    210
    Maar ik creeer toch niets ???

  4. #4
    TCustomBuild Rob Bos's Avatar
    Join Date
    Jan 2003
    Location
    Eindhoven
    Posts
    4,213
    Op het momet dat je

    Code:
       var   aTest : TTest;
    zegt wijs je de pointer aTest al naar een type toe...

    Dan is 'ie meteen assigned dus :>

    Greetz RaJaR

  5. #5
    TD5user
    Join Date
    Sep 2002
    Location
    Den Bosch
    Posts
    210
    Hoe kan ik dan controleren of er aan 'aLabel' een component is gehangen ???

  6. #6
    TCrapCodeProducer JackBigMac's Avatar
    Join Date
    May 2002
    Location
    Rotterdam
    Posts
    1,293
    Kun je het dan niet beter zo doen?

    Code:
    TTest = class(TObject)
      private
        aLabel : TLabel;
      public
        property Label: TLabel read aLabel write aLabel;
      end;
    Dan wordt Label pas assigned als je het zelf creëert.
    It is in change that we find purpose.

  7. #7
    TD5user
    Join Date
    Sep 2002
    Location
    Den Bosch
    Posts
    210
    Ik heb al een andere oplossing, alhoewel ik het niet de mooiste vind.

    Voordat ik echt met het record ga werken, initialiseer ik 'aLabel' op nil.
    Bij het creeeren van een label wordt deze nil dan automatisch vervangen.

    Later kan ik dan wel met 'assigned' werken.

    Toch bedankt.

  8. #8
    Ik vraag me af of het wel handig is om records en objects door elkaar te gebruiken, dus ik zou voor de JackBigMac-oplossing gaan. Maar ik moet ook meteen toegeven dat ik nooit records gebruik dus misschien zie ik het voordeel gewoon niet.
    Marcel

Thread Information

Users Browsing this Thread

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

Similar Threads

  1. Replies: 2
    Last Post: 09-Oct-03, 11:03
  2. Queries en updat/insert van een delphi record type
    By TomTomTom in forum Databases
    Replies: 4
    Last Post: 26-Mar-03, 22:43
  3. ras statistieken
    By Delphifreak in forum WebDelphi
    Replies: 25
    Last Post: 06-Mar-03, 22:19
  4. waarom kan ik het eerste record niet verwijderen
    By dvdyck1 in forum Databases
    Replies: 3
    Last Post: 17-Apr-02, 23:34

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
  •