🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.delphi.bazy-danych
7 messages
7 total messages Started by "Krzysztof Szysz Fri, 22 Apr 2016 18:26
ANN: X-DBData Components 1.7 ze wsparciem dla RAD Studio 10.1 Berlin!
#80979
Author: "Krzysztof Szysz
Date: Fri, 22 Apr 2016 18:26
76 lines
4099 bytes
Witam,

miło mi poinformować, że ukazała się nowa wersja pakietu X-DBData Components 1.7!


   Co nowego w X-DBData Components 1.7 ?
   ==================================
  - Nowe pakiety dla Delphi/C++Builder 10.1 Berlin Win32/Win64!!!


   Co nowego w X-DBData Components 1.6 ?
   ==================================
  - Nowa klasa TXDBFieldList zastępuje (zbyt wolną) klasę TFieldList (RAD >= 2009)
  - Nowa właściwość TXDBDataSet.InternalDataProvider typu Boolean
  - Poprawiono: TXDBData.AddAllFields nie uwzględniało właściwości DefaultWidth
  - Poprawiono: TXDBData.ClearIndexFields po wykonaniu Destroy powodowało błąd
  - Poprawiono: TXDBData.FieldListChanged nie uwzględniało zmian w child fields
  - Poprawiono: Wyjątek "Icon image is not valid" dla pustego obrazka w TIcon
  - Nowe X-DBData Demo 10 - Run-time using examples
  - owe X-DBData Demo 11 - LocalSQL using examples (RAD >= XE5)


   Co to jest X-DBData Components ?
   ============================

   Pakiet X-DBData Components został stworzony do bezpośredniego używania dowolnych
   indeksowanych struktur danych takich jak listy, tablice, kolekcje z komponentami bazodanowymi
   typu TDBEdit, TDBComboBox, TDBNavigator, a w szczególności z naszym komponentem TXDBGrid.
   Pakiet zawiera zestaw specjalnych data setów i data providerów pozwalających korzystać
   z dowolnych klasycznych i generycznych struktur danych tak samo jak z tabel bazodanowych.

   Komponenty zawarte z tym pakiecie pozwalają korzystać z: array of TObject,
   TList of TObject, TObjectList, TStringList, TWideStringList, TCollection,
   TArray<T: class>, TList<T: class>, TObjectList<T: class> i klas potomnych.
   Korzystając z data providerów można również obsłużyć dowolne indeksowane
   właściwości takie jak Fields, Controls, Components, Pages, Buttons, Forms, itp.

   Każdy z data setów z pakietu wspiera wszystkie standardowe operacje: read,
   write, insert, edit, delete, locate, lookup, filter, master-detail oraz DataSetField.
   Wspierane są również bookmarki, blob stream i nested data set.

   Możesz samodzielnie definiować FieldDefs (komponent TXDBData) lub utworzyć przy użyciu
   data providera domyślne FieldDefs bazujące na właściwościach obiektu z sekcji published.
   Możesz również utworzyć pola persistent oraz definiować pola fkLookup i fkCalculated
   dowolnego typu. W czasie projektowania masz również dostępny standardowy Fields Editor.

   Podstawowe data providery obsługują właściwości z sekcji published następujących typów:
   Boolean, Enum, Byte, Word, LongWord, ShortInt, SmallInt, Integer, LargeInt,
   Single, Double, Extended, Currency, TDate, TTime, TDateTime, ShortString,
   AnsiString, WideString, UnicodeString, Interface, Variant.

   Podstawowe data providery tworzą automatycznie pola ftADT dla właściwości
   wywodzących się z klasy TPersistent takich jak Font, Margins, Constraints, Touch, itp.
   Dla właściwości wywodzących się z klasy TGraphic tworzone jest pole typu ftGraphic,
   a dla właściwości wywodzących się z TCollection, TStrings, TWideStrings automatycznie tworzy
   się pole typu ftDataSet. Pole ftDataSet można obsłużyć przy użyciu odrębnego nested data set.

   Możesz również łatwo definiować nowe data sety i nowe data providery dla swoich własnych klas.
   W szczególności, możesz w prosty sposób definiować generyczne data sety bazujące na twoich
   klasach: var CompanyTable: TXDBTable<TCompany>;

   Pakiet zawiera komponenty przeznaczone dla:
   - Delphi 5, 6, 7, 2005, 2006, 2007, 2009, 2010, XE, XE2, XE3, XE4, XE5, XE6, XE7, XE8, 10, 10.1
   - C++Builder 5, 6, 2006, 2007, 2009, 2010, XE, XE2, XE3, XE4, XE5, XE6, XE7, XE8, 10, 10.1


Zapraszam do odwiedzenia serwisu na stronie http://www.x-files.pl/pl/components/xdbdata.html
oraz do pobrania wersji testowej ze strony http://www.x-files.pl/pl/download/xdbdata.html


pozdrowienia,

Krzysztof Szyszka, X-Files Software
Developer of X-DBData Components
Embarcadero Technology Partner
http://www.x-files.pl/pl/ 
Re: ANN: X-DBData Components 1.7 ze wsparciem dla RAD Studio 10.1 Berlin!
#80981
Author: szemrany
Date: Fri, 22 Apr 2016 22:37
12 lines
506 bytes
On Fri, 22 Apr 2016 18:26:03 +0200, Krzysztof Szyszka wrote:

>    Komponenty zawarte z tym pakiecie pozwalają korzystać z: array of TObject,
>    TList of TObject, TObjectList, TStringList, TWideStringList, TCollection,
>    TArray<T: class>, TList<T: class>, TObjectList<T: class> i klas potomnych.

A wspiera kolekcje Springa?

--
howgh
szemrany
"Zrozumienie umożliwia zastąpienie nieracjonalnych działań lub bezradności
przez działania racjonalne." M.Mazur, ojciec polskiej szkoły cybernetyki
Re: X-DBData Components 1.7 ze wsparciem dla RAD Studio 10.1 Berlin!
#80982
Author: "Krzysztof Szysz
Date: Sat, 23 Apr 2016 09:23
26 lines
1191 bytes
> >    Komponenty zawarte z tym pakiecie pozwalają korzystać z: array of TObject,
> >    TList of TObject, TObjectList, TStringList, TWideStringList, TCollection,
> >    TArray<T: class>, TList<T: class>, TObjectList<T: class> i klas potomnych.
>
> A wspiera kolekcje Springa?

Gotowych klas korzystających ze Springa nie ma w pakiecie, bo nie każdy z niego korzysta,
a wtedy nie mógłby zainstalować tego pakietu w Delphi, ale pakiet wspiera wszystko, do czego
potrafisz napisać prostego Providera.

W przypadku kolekcji Springa nawet nazwy wielu klas są identyczne jak w Generics.Collections,
więc wystarczy powielić gotowego Providera i użyć w nim analogicznych klas z modułu
Spring.Collections.Lists.

Przykładowo, dla TList<T> ze Spring.Collections.Lists wystarczy zdefiniować kilka prostych
metod w nowej klasie TXDBSpringListProvider<T> utworzonej analogicznie do dostarczanej
w pakiecie gotowej klasy TXDBListProvider<T>.

--
pozdrowienia
Krzysztof Szyszka, X-Files Software
Developer of X-DBGrid Component
Embarcadero Technology Partner
http://www.x-files.pl/
Join to "Delphi X-DBGrid Component Community"
https://plus.google.com/#communities/100842098152269100547
Re: X-DBData Components 1.7 ze wsparciem dla RAD Studio 10.1 Berlin!
#80983
Author: szemrany
Date: Sat, 23 Apr 2016 10:18
22 lines
1035 bytes
On Sat, 23 Apr 2016 09:23:45 +0200, Krzysztof Szyszka wrote:

>> A wspiera kolekcje Springa?
>
> Gotowych klas korzystających ze Springa nie ma w pakiecie, bo nie każdy z niego korzysta,
> a wtedy nie mógłby zainstalować tego pakietu w Delphi, ale pakiet wspiera wszystko, do czego
> potrafisz napisać prostego Providera.
>
> W przypadku kolekcji Springa nawet nazwy wielu klas są identyczne jak w Generics.Collections,
> więc wystarczy powielić gotowego Providera i użyć w nim analogicznych klas z modułu
> Spring.Collections.Lists.
>
> Przykładowo, dla TList<T> ze Spring.Collections.Lists wystarczy zdefiniować kilka prostych
> metod w nowej klasie TXDBSpringListProvider<T> utworzonej analogicznie do dostarczanej
> w pakiecie gotowej klasy TXDBListProvider<T>.

W Springu korzysta się z dostępu interfejsowego, czy to zmienia cokolwiek?

--
howgh
szemrany
"Zrozumienie umożliwia zastąpienie nieracjonalnych działań lub bezradności
przez działania racjonalne." M.Mazur, ojciec polskiej szkoły cybernetyki
Re: X-DBData Components 1.7 ze wsparciem dla RAD Studio 10.1 Berlin!
#80984
Author: "Krzysztof Szysz
Date: Sat, 23 Apr 2016 11:37
29 lines
1433 bytes
> >> A wspiera kolekcje Springa?
> >
> > Gotowych klas korzystających ze Springa nie ma w pakiecie, bo nie każdy z niego korzysta,
> > a wtedy nie mógłby zainstalować tego pakietu w Delphi, ale pakiet wspiera wszystko, do czego
> > potrafisz napisać prostego Providera.
> >
> > W przypadku kolekcji Springa nawet nazwy wielu klas są identyczne jak w Generics.Collections,
> > więc wystarczy powielić gotowego Providera i użyć w nim analogicznych klas z modułu
> > Spring.Collections.Lists.
> >
> > Przykładowo, dla TList<T> ze Spring.Collections.Lists wystarczy zdefiniować kilka prostych
> > metod w nowej klasie TXDBSpringListProvider<T> utworzonej analogicznie do dostarczanej
> > w pakiecie gotowej klasy TXDBListProvider<T>.
>
> W Springu korzysta się z dostępu interfejsowego, czy to zmienia cokolwiek?

TList<T>, TObjectList<T>, itd. to są zwykłe klasy, a że implementują dodatkowe interfejsy,
to ma znaczenie jedynie przy dostępie z Twojego kodu. TXDBDataSet i pochodne operują
bezpośrednio na instancjach tych klas. Jeśli elementami kolekcji byłyby intefejsy,
to jedynie musiałbyś to uwzględnić przy pisaniu Providera (np. w InsertItem/DeleteItem).

--
pozdrowienia
Krzysztof Szyszka, X-Files Software
Developer of X-DBGrid Component
Embarcadero Technology Partner
http://www.x-files.pl/
Join to "Delphi X-DBGrid Component Community"
https://plus.google.com/#communities/100842098152269100547
Re: X-DBData Components 1.7 ze wsparciem dla RAD Studio 10.1 Berlin!
#80985
Author: szemrany
Date: Sat, 23 Apr 2016 11:54
39 lines
1832 bytes
On Sat, 23 Apr 2016 11:37:47 +0200, Krzysztof Szyszka wrote:

>>>> A wspiera kolekcje Springa?
>>>
>>> Gotowych klas korzystających ze Springa nie ma w pakiecie, bo nie każdy z niego korzysta,
>>> a wtedy nie mógłby zainstalować tego pakietu w Delphi, ale pakiet wspiera wszystko, do czego
>>> potrafisz napisać prostego Providera.
>>>
>>> W przypadku kolekcji Springa nawet nazwy wielu klas są identyczne jak w Generics.Collections,
>>> więc wystarczy powielić gotowego Providera i użyć w nim analogicznych klas z modułu
>>> Spring.Collections.Lists.
>>>
>>> Przykładowo, dla TList<T> ze Spring.Collections.Lists wystarczy zdefiniować kilka prostych
>>> metod w nowej klasie TXDBSpringListProvider<T> utworzonej analogicznie do dostarczanej
>>> w pakiecie gotowej klasy TXDBListProvider<T>.
>>
>> W Springu korzysta się z dostępu interfejsowego, czy to zmienia cokolwiek?
>
> TList<T>, TObjectList<T>, itd. to są zwykłe klasy, a że implementują dodatkowe interfejsy,
> to ma znaczenie jedynie przy dostępie z Twojego kodu.

Chodziło mi o to, że mechanizmy Springowe wymuszają używania dostępu
interfejsowego, zatem operowanie we własnym kodzie obiektami jest w
praktyce niemożliwe.

> TXDBDataSet i pochodne operują
> bezpośrednio na instancjach tych klas. Jeśli elementami kolekcji byłyby intefejsy,
> to jedynie musiałbyś to uwzględnić przy pisaniu Providera (np. w InsertItem/DeleteItem).

I o to mi chodziło. Dzięki za odpowiedź.

ps. Z "What's new" wynika, że w Berlinie zablokowano dostęp do sekcji
private przez helpery, kiedyś była tu o tym dyskusja w której brałeś
udział, możesz to potwierdzić?

--
howgh
szemrany
"Zrozumienie umożliwia zastąpienie nieracjonalnych działań lub bezradności
przez działania racjonalne." M.Mazur, ojciec polskiej szkoły cybernetyki
Re: X-DBData Components 1.7 ze wsparciem dla RAD Studio 10.1 Berlin!
#80986
Author: "Krzysztof Szysz
Date: Sat, 23 Apr 2016 12:16
16 lines
676 bytes
> ps. Z "What's new" wynika, że w Berlinie zablokowano dostęp do sekcji
> private przez helpery, kiedyś była tu o tym dyskusja w której brałeś
> udział, możesz to potwierdzić?

Tak. Kiedyś byłem zdziwiony, że użycie Self.FCosTam w class helperze pozwala
na dostęp do FCosTam z sekcji private i uważałem to za błąd kompilatora.
Jak widać po latach bug został poprawiony, choć mało kto się z tego cieszy ;-)

--
pozdrowienia
Krzysztof Szyszka, X-Files Software
Developer of X-DBGrid Component
Embarcadero Technology Partner
http://www.x-files.pl/
Join to "Delphi X-DBGrid Component Community"
https://plus.google.com/#communities/100842098152269100547
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads