Z mojej skúsenosti mi vychádza, že je FireDAC poriadne premakaný. Môj prípad. Mám zostavu a na nej 20 podzostáv. Ich prepojenie som riešil nasledovne:
- MainQuery
- DataSource.DataSet := MainQuery
- OtherQuery
- MasterSource := DataSource
- Prepojenie údajov pomocou IndexFieldNames a MasterFields
Všetko pekne fungovalo. Nasadil som IBC a prepojenie údajov nefungovalo. Prekvapilo ma to. Z podpory FR som dostal odpoveď, ktorej riešením bolo:
- MainQure.AfterScroll - aktulizácia všetkých parametrov pre OtherQuery + Open
- Kvôli tomu som musel
- Rozšíriť, alebo pridať WHERE o podmienky uvedené v IndexFieldNames
- Nasekať to do AfterScroll
Musel som vykonať dosť práce navyše. Podľa mňa čiastočne utrpela čistota kódu.
Mal som ešte jednu takú situáciu, len si na ňu neviem spomenúť.
- Je to naozaj tak?
- Načo tam sú (IBC) IndexFielNames a MasterFields, keď nefungujú?
- Máte podobnú skúsenosť?
- Keby som chcel použiť nižšie úrovne programovania, tak by som asi pri IBC veľmi nepochodil
Len škoda tej otrasnej cenovej politiky. Ja kvôli podpore servera nevyhodím 2 500€ a kúpim niečo, čo na 80 % nepotrebujem. + raz(?) taká drahá podpora.
S FireDAC sa mi robilo celkom príjemne. Trochu horšie to je s IBC. Mnohé z toho je len otázka zvyku.