Mám třeba pole proměnných a pole objektů, objekty nějak přeberu.
Dim poleA(100) as byte
Dim poleB(100) as object
K objektům z poleB se v kódu dostanu jinak než přes poleB a nějaký index a chtěl bych vědět jestli je možné zjistit na jakém indexu je ten samí objekt v poliB (jinak než procházením pole a porovnáváním). To co pořebuju je rozhodnout,
jestli nalezený objekt již byl jednou zpracován nebo ne, tato informace je v poleA, ale já nevim jak bez prohledaní
celého pole zjistit index.
Doteď jsem to rešil přidáním vlastnosti objektu v jeho třídě např. index, ale vykonáním něčeho k čemu ten index potřebuju se stane tato vlastnost nepotřebnou, tak jestli to jde nějak lépe.
#2JoDiK
To už je jedno co v tom objektu bude, ale bude to tam (po proběhnutí nějaké funkce/procedury) k ničemu, tak se ptam
jestli to nejde nějak aniž by se zapisovala každá (a že jich je někdy nohem víc než jedna) přímo do objektu. A s tím je
taky spojeno, že předem (při psaní objektu) nevim kolik takových proměnných bude někdy potřeba pokud vůbec.
#3Keny
No nevím nic bližšího o tvém projektu, ale je možné, že "na to jdeš špatně". Já když si vzpomenu na svůj první větší projekt s objekty, kdy jsem ještě neznal problemetiku a možnosti objektů, taky jsem tam nadělal spoustu nesmyslných obezliček abych dosáhl něčeho, co se dá udělat naprosto jednoduše a elegantně. Konkrétně si vybavuju, že jsem ještě neznal a neuměl využít virtuální metody a do objektu jsem si pracně navíc ukládal jako vlastnost jeho "typ" a podle něj vybíral přepínačem odpovídající činnost.
Takže zkus se ještě jednou podívat na to co a jak děláš a přečíst si něco o metodách OOP, jestli to náhodou taky neděláš zbytečně složitě. Podle naznačeného ukládání něčeho, co se týká objektů do samostatného pole se mi to tak jeví...
#4JoDiK
Tak něco jsem prošel a nic jsem nenašel a proto se ptam tady :) Třeba to někdo řešil, nebo bych chtěl vědět jak by to napsal někdo jiný, když potřebuje lokálně doplnit k objektu spoustu jiných dat
tak, aby se k těm datům dalo dostat přes objekt ke kterému patří.
#5Keny
K tomu, aby ti někdo konkrétně poradil, jsi podal málo informací.
"když potřebuje lokálně doplnit k objektu spoustu jiných dat
tak, aby se k těm datům dalo dostat přes objekt ke kterému patří"
Nevím jak to má řešené VB (dělám v Pascalu), ale obecně v OOP objekt má "svoje" data uložená ve vlastnostech, mají-li být dočasná tak nejlépe v dynamických datových strukturách (když už nejsou potřeba, zabraná paměť se uvolní - zůstane jen prázdný ukazatel) a k těm datům se přece standardně přistupuje přes metody toho objektu, jiný přístup je sice možný ale nevhodný.
#6JoDiK
Ok, tak já jen nevěděl jestli je "normální" mít u objektu vlastnosti, které jsou jen dočasná a po splnění svojí funkce, jsou na nic. Takže jo dík :)