Autor Téma: EntityDAC express a demo  (Přečteno 222 krát)

Offline starous

  • Mladík
  • **
  • Příspěvků: 78
  • Karma: 2
EntityDAC express a demo
« kdy: 12-11-2018, 10:20:38 »
ahoj,

pokouším se proniknout do používání knihovny EntityDAC. Stáhl jsem si verzi Express a pustil se do studia dokumentace. Bohužel velice rychle jsem skončil, protože zřejmě vývoj knihovny předbíhá úpravu ukázkového programu.

Ze stránky https://www.devart.com/entitydac/download.html

jsem si stáhl knihovnu Express (verze 2.0.1).

Nyní se pokouším rozchodit program, který je součástí dokumentace EntityDAC (https://www.devart.com/entitydac/docs/first_app_express.htm). Používám Delphi Enterprise 10.1 Berlín.

Nyní k problémům:
V tom příkladu používají jako členy třídy TIntegerAttribute, TStringAttribute apod. Kompilátor mi však hlásí, že tyto datové typy neexistují. Když jsem hledal tuto chybu na webu, tak jsem zjistil, že se tyto datové typy už nepoužívají a mám použít obyčejný Integer, String atd. (https://forums.devart.com/viewtopic.php?t=30537). Zaráží mě, že dotaz je už z roku 2014.

Po úpravě se program přeloží, ale vlastní spuštění programu selže na chybě:
The [Collection] attribute in the TDept class declaration can be defined only for a field of type Collection<T>

Pokud tomu dobře rozumím, nelíbí se mu deklarace třídy TDept:
Kód: Delphi [Vybrat]
  1.   TDept = class(TMappedEntity)
  2.   private
  3.   ...
  4.     [Column]
  5.     [Collection('TEmp', 'FDept', 'FDeptno', 'FDeptno', srNone, drNone)]
  6.     FEmps: TDeptEmps;
  7.   ...
  8.   end;
  9.  

Přitom TDeptEmps je deklarován následujícím způsobem:
Kód: Delphi [Vybrat]
  1.   TDeptEmps = class(TMappedCollection<TEmp>)
  2.   end;
  3.  

Pokusil jsem se nahradit TMappedCollection za Collection, ale Collection taky nezná. Nemáte s tím někdo zkušenosti? díky.