If then else matters! - I5 12600KF, Asus Tuf GT501, Gigabyte Gaming OC 16G 5080 RTX, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router
Verwijderd
TMyItems is niet gebaseerd op TVirtualShellView. In de klasse TMyItems zal je dus alleen de public functies / procedures / properties kunnen gebruiken en niet de private en protected.
Hoe ik in een procedure van TMyListItems een variabele ofzo kan gebruiken van de TVirtualShellView class.
Publics kan ik ook niet bij hoor trouwens
If then else matters! - I5 12600KF, Asus Tuf GT501, Gigabyte Gaming OC 16G 5080 RTX, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router
Hmm ik weet niet of dat design-technisch gesproken zo handig is, maar dat is jouw keus. Dus ga ik je serieus nemen en een handreiking doen:Op zondag 17 maart 2002 22:47 schreef XLerator het volgende:
Wat ik wil weten staat in mijn 1e post hier
Hoe ik in een procedure van TMyListItems een variabele ofzo kan gebruiken van de TVirtualShellView class.
Oh jawel hoor, en als TVirtualShellView en TMyListItems in dezelfde unit zijn gedeclareerd, kun je zelfs bij de private dingenPublics kan ik ook niet bij hoor trouwens
Wat je nodig hebt om TMyListItems toegang te geven tot TVirtualShellView, is een Instance van TVirtualShellView. Je moet tenslotte de compiler duidelijk maken welk concreet object (van type TVirtualShellView) je wilt gebruiken in je TMyListItems procedure.
Je kunt dit doen middels een Owner parameter bij de Create van je TMyListItems.
1
2
3
4
5
| constructor TMyListItems.Create(aOwner: TVirtualShellView); begin inherited Create; FOwner := aOwner; end; |
Huh? Waarom is dat niet handig dan? Ik weet daar nix van?Op maandag 18 maart 2002 00:59 schreef Delphi32 het volgende:
Hmm ik weet niet of dat design-technisch gesproken zo handig is, maar dat is jouw keus. Dus ga ik je serieus nemen en een handreiking doen:
AhaOh jawel hoor, en als TVirtualShellView en TMyListItems in dezelfde unit zijn gedeclareerd, kun je zelfs bij de private dingen
Wat je nodig hebt om TMyListItems toegang te geven tot TVirtualShellView, is een Instance van TVirtualShellView. Je moet tenslotte de compiler duidelijk maken welk concreet object (van type TVirtualShellView) je wilt gebruiken in je TMyListItems procedure.
Je kunt dit doen middels een Owner parameter bij de Create van je TMyListItems.
code:
1 2 3 4 5 constructor TMyListItems.Create(aOwner: TVirtualShellView); begin inherited Create; FOwner := aOwner; end;
Maar nu heb ik nog 1 probleem
Als ik TMyItems = class(TListItems) enzo boven die van TVirtualShellView zet, kent ie de TVirtualShellView niet.
Dus dan kan ik dat met die FOwner niet doen.
En als ik het andersom neerzet kan ik die items in de TVirtualShellView = class(TListView) enzo niet declareren op deze manier:
1
2
3
4
| public
Items : TMyItems;
...
... |
Hoe moet dat dan?
Als ik TMyItems bovenaan zet en TVirtualShellView vervang door TComponent, en dan in de TMyItems.Clear het volgende zet
1
2
3
4
| procedure TMyItems.Clear; Begin Clear; End; |
, dan doet ie t niet. Dan hangt ie helemaal. Geen foutmelding ofzo. Niets.
If then else matters! - I5 12600KF, Asus Tuf GT501, Gigabyte Gaming OC 16G 5080 RTX, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router
Als ik TMyItems = class; bovenaan zet kent ie `m gewoon.
Maar hij blijft hangen als ik een eigen Clear procedure maak.
Dan hangt ie bij het Clear-commando...
If then else matters! - I5 12600KF, Asus Tuf GT501, Gigabyte Gaming OC 16G 5080 RTX, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router
Verwijderd
Dat verbaast mij niks, aangezien je de procedure recursief aanroept. Wat is de bedoeling van die Clear statement?Op maandag 18 maart 2002 13:09 schreef XLerator het volgende:
Dan hangt ie bij het Clear-commando...
code:
1 2 3 4 procedure TMyItems.Clear; Begin Clear; End;
Dom van mij zeg
lol.
Nou ja, ik heb een TVirtualShellTree.
En als je items.clear doet moet ie o.a. de imagelist legen, en nog een aantal dingen.
If then else matters! - I5 12600KF, Asus Tuf GT501, Gigabyte Gaming OC 16G 5080 RTX, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router
1
2
3
4
5
6
| Tshellitems.clear;
begin
{ hier nog wat specifieke dingen die alleen voor
TShellItems gelden, en niet voor TListItems. }
inherited; { Roep de .clear van TListItems aan }
end; |
"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney
Kan ik eindelijk verder.
Tnx again
If then else matters! - I5 12600KF, Asus Tuf GT501, Gigabyte Gaming OC 16G 5080 RTX, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router
Graag gedaan, maaruh.. misschien is het eens handig dat je een Delph boek, cursus, online iets gaat lezen, of wat source gaat bekijken ofzo... want dit is redelijk RTFM werk eigenlijk.....Op maandag 18 maart 2002 16:40 schreef XLerator het volgende:
Tnx Creepy, dat is precies wat ik nodig heb!
Kan ik eindelijk verder.
Tnx again
"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney
Ik ben al een lange tijd aan het programmeren, maar hier kwam ik ff niet uit.
Maar nu wel.
Ik heb al een aantal programmas gemaakt, die meer dan een apje zijn
If then else matters! - I5 12600KF, Asus Tuf GT501, Gigabyte Gaming OC 16G 5080 RTX, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router
"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney
Albert Einstein: A question that sometime drives me hazy: Am I or are the others crazy?