Results 1 to 7 of 7

Thread: Gebruik gezamelijk type in verschillende componenten

  1. #1

    Gebruik gezamelijk type in verschillende componenten

    Hallo,

    Ik heb 3 componenten, (A,B en C).
    In de componenten A en B staat de volgende regel :

    Type
    TBGColor = (bsWhite, bsBlack);
    ...
    FBGColor : TBGColor;
    ...

    Component C maakt gebruik van de componenten A en B. Nu wil ik in component C de kleur aanpassen middels FBGColor van de componenten A en B. Dit geeft echter foutmeldingen. Hoe kan je dit oplossen zodanig dat FBGColor in allen drie de componenten te gebruiken is?

    Opmerking : De componenten A en B afzonderlijk maken ook gebruik van dit type.


    HG, Frans

  2. #2
    Bedoel je dat component C geen property van het type TBGColor heeft?

  3. #3
    Senior Member Wok's Avatar
    Join Date
    Dec 2002
    Location
    Alkmaar
    Posts
    2,085
    Als drie componenten van het type TBGColor zijn, moet je de inhoud kunnen uitwisselen.
    Een voorbeeldje zou hier wel op zijn plaats zijn, met de foutmelding erbij.
    10.4.2, Delphi2010, of Lazarus 2.2.0

  4. #4
    Mijn eerste gedachte was dat je de type definitie voor TBGColor in een aparte unit moet zetten die zowel door A, B als C ge-used wordt.
    Maar zo simpel zal het wel niet zijn?

    Bart

  5. #5
    Ja, Bart,

    Zo simpel is het inderdaad. Ik heb deze oplossing ook al gevonden en het werkt.

    Allemaal bedankt voor het meedenken, Frans

  6. #6
    Ik heb dit zelf ook opgemerkt inderdaad, als je 3 verschillende units hebt met elk de zelfde type zijn deze niet uitwisselbaar (is ook in Delphi zelf). Als je een globale unit maakt (heb ik ook, unit genaamt RLTypes) en daar je types in zet en deze unit in de uses clause zet bij alle units waar je deze type wil gebruiken werkt dit wel uitwisselbaar.

  7. #7
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    10,357
    En veel gebruikte types alias je. Dit zorgt ervoor dat je niet altijd de types unit erbij moet usen.

    Simpleweg door in unit A in een type block

    Delphi Code:
    1. type  XXX= UnitBTypes.XXXX;
    te zetten

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
  •