TDatabase i dll

0

Witam

Mam pytanie, mam sobie aplikację (exe) i jedną dll'kę. Jak zrobić żeby wszystkie datasety korzystały z jednej bazy danych ? Mam w exe'ku DMUnit (datamodule) na którym leży DB: TDatabase - ustawiam w nim alias i databasename. W exe'ku wszystko jest OK, ale w dll'ce już to nie jest widoczne (na etapie projektowania jest widoczne, ale w runtime wyskakuje mi okno logowania (chociaz LoginPrompt na False mam). Dodam że łączę się przez ODBC do Firebirda. Dołączyłem tego DMUnit do dll'ki, ale dalej nic (pewnie ma to związek z tym że w exe jest CreateForm(DM, TDM) a w dpr'ce dll'ki tego nie ma. Ostatecznie zrobiłem drugi DMUnit w dll'ce z sekcją initialization i finalization, gdzię tworzę jego instancję. Dodatkowo jego alias ustawiłem na DB.DatabaseName z exe'ka. No i hula. Ale zastanawiam się czy nie ma prostszego sposobu ?
Podobny problem miałem na innej dll'ce ale pod Delphi 4 która też jest częścią tego projektu - ale tutaj dodatkowy DM to już na pewno konieczność z innych względów.

Jeszcze jedno pytanko. Jakie komponenty DB polecacie do Firebird'a ? Jakie są najszybsze i najpraktyczniejsze ? Ja ciągle tkwie przy BDE (ale to dlatego że mam legala D4Std) - i nic innego nie mam.

0

http://www.borland.pl/tech/bazy.shtml

do FB to standardowe (znaczy razem z Delphi) IBXy, darmowe UIB albo serowniki ściągnij ODBC do FB

0

Artukuł ciekawy, ale idę o zakład że jak wyeksportuje TDataModule z TurboDelphi, i zapnę dll'kę z taką funkcją do Delphi 4 Standard to będzie AV.
Swoją drogą idea bardzo elastyczna, ale na więszką skalę trzeba wszystko upychać do tego DataModułu, co przy średniej wielkości aplikacji spowoduje znaczy jego rozrost : ) Poza tym ustawianie w kodzie właściwości DataSet ogranicza możliwości tworzenia interfejsu na etapie projetowania (dodawanie kolumn do grid'a, pól z Query ...)

Już moje rozwiązanie (z TDatabase.DatabaseName = AliasName) wydaje się być prostsze - właściwie może odkryłem coś czego jeszcze nikt nie odkrył : ) bo na dobrą sprawę, cały problem jest rozwiązany poprzez dodanie TDataModule z jednym komponentem do każdej dll'ki.

Trzeba sprawę przeklikać w chacie to się jakąś drogę ostatecznie wybierze ...

1 użytkowników online, w tym zalogowanych: 0, gości: 1