Borland Delphi 5 Doba uveden¡ nov‚ verze vìvojov‚ho n stroje Delphi firmy Inprise na trh se neodvratnØ bl¡§¡, proto se pod¡vejme na nov‚ vlastnosti a vylepçen¡, kter‚ Delphi 5 pýin ç¡. Tento Ÿl nek vych z¡ z beta verze Delphi 5, a lze tud¡§ pýedpokl dat, §e v "ostr‚" verzi bude nØco jeçtØ ponØkud jinak. Poodhråme rouçku Mezi nejvìraznØjç¡ vylepçen¡ Delphi patý¡ alternativn¡ pý¡stup k datovìm zdroj…m bez potýeby BDE prostýednictv¡m nov‚ ADO komponenty a nov‚ komponenty pro nativn¡ pý¡stup na datab zovì server InterBase. Novì, hierarchickì pohled na datab zov‚ komponenty a zejm‚na mo§nost vytv ýen¡ pýehlednìch datovìch diagram… usnadn¡ vçem u§ivatel…m orientaci v datovìch modulech. Pro vìvoj v¡ce£rovåovìch aplikac¡ pýin ç¡ novou kvalitu pýepracovan  technologie MIDAS, nyn¡ i s pýipravenìm rozhran¡m pro internetov‚ aplikace vyu§¡vaj¡c¡m pýenosovì protokol HTTP. Dalç¡ novou podporou internetovìch technologi¡ v Delphi 5 je mo§nost vytv ýen¡ zvl çtn¡ho typu objekt… ActiveX, kter‚ lze pou§¡vat v r mci ASP str nek. Z hlediska samotn‚ho vìvojov‚ho prostýed¡ doçlo k vylepçen¡ prostýedk… pro ladØn¡ vyv¡jenìch aplikac¡, pýibyly nov‚ podp…rn‚ n stroje pro lokalizaci, skupinovou pr ci na projektu a spr vu seznamu zamìçlenìch Ÿinnost¡ na projektu. A pochopitelnØ jako s ka§dou novou verz¡ Delphi doçlo k vylepçen¡ a rozç¡ýen¡ knihovny vizu ln¡ch komponent VCL a s n¡ i k mo§nosti vizu ln¡ho n vrhu aplikac¡. Komponenty pro pý¡stup k dat…m technologi¡ ADO Delphi 5 obsahuje nov‚ komponenty, umo§åuj¡c¡ pý¡stup k dat…m s vyu§it¡m technologie ActiveX Data Objects (ADO) firmy Microsoft. ADO pýedstavuje vysoko£rovåov‚ rozhran¡ pro pý¡stup ke vçem druh…m dat. Data mohou poch zet z libovolnìch datovìch zdroj…, kter‚ zahrnuj¡ relaŸn¡ i nerelaŸn¡ datab ze, elektronickou poçtu, syst‚m soubor…, text, grafiku Ÿi u§ivatelsk‚ objekty. Obzvl çtØ vìhodnì je tento typ pý¡stupu pro datab ze, jim§ je technologie ADO vlastn¡, tedy napý. pro Microsoft SQL Server 7.0. Nov‚ komponenty, poskytuj¡c¡ pý¡stup k dat…m prostýednictv¡m ADO, lze pou§¡vat se st vaj¡c¡mi komponentami pro vizu ln¡ prezentaci dat (napý. TDBEdit, TDBGrid), ani§ by byl zapotýeb¡ datab zovì stroj BDE. Pýi pou§it¡ tØchto komponent je pochopitelnØ nezbytn  instalace ADO/OLE DB prostýed¡ na c¡lov‚m poŸ¡taŸi. V paletØ komponent najdeme pro pr ci s technologi¡ ADO n sleduj¡c¡ komponenty - TADOConnection, kter  poskytuje pýipojen¡ k libovoln‚mu datov‚mu ADO zdroji, TADOTable, TADOQuery a TADOStoredProc, kter‚ pln¡ obdobnou funkci jako komponenty TTable, TQuery a TStoredProc pýi pou§it¡ BDE, d le komponentu TADODataSet, kter  reprezentuje datovou mno§inu vr cenou z datov‚ho ADO zdroje a kterou lze alternativnØ pou§¡t k pýedchoz¡m týem komponent m, a koneŸnØ komponentu TADOCommand pro realizaci pý¡kaz…, kter‚ nevracej¡ datov‚ mno§iny (typicky pro vykon n¡ pý¡kaz… souvisej¡c¡ch s definic¡ datovìch struktur). V n vaznosti na mo§nosti tØchto komponent byly pýid ny nov‚ typy pol¡ pro pý¡stup k datovìm typ…m podporovanìm v technologii ADO - jedn  se o typy TWideStringField, TGUIDField, TVariantField, TInterfaceObject a TIDispatchField. Komponenty pro pý¡mì pý¡stup do InterBase Do palety komponent byla pýid na nov  z lo§ka InterBase, kter  obsahuje komponenty pro pý¡mì pý¡stup do datab ze InterBase. I tyto komponenty umo§åuj¡ pr ci s datab zovìm serverem bez potýeby BDE. Distribuce vyv¡jenìch aplikac¡ se tak vìraznØ usnadn¡. K dispozici jsou analogick‚ komponenty jako pro pý¡stup k datab z¡m pýes BDE, tedy TIBDatabase, TIBTable, TIBQuery, TIBStoredProcedure, TIBUpdateSQL a TIBDataSource. D le zde najdeme komponenty TIBTransaction pro transakŸn¡ ý¡zen¡ datab zovìch pýipojen¡, TIBDataset, optimalizovanou pro datab zov‚ dotazy s pou§it¡m SQL pý¡kazu SELECT, TIBSQL, zamìçlenou pro vykon v n¡ SQL pý¡kaz…, kter‚ nevracej¡ datovou mno§inu, TIBDatabaseInfo pro z¡sk n¡ informac¡ o pýipojen‚m datab zov‚m serveru, d le komponentu TIBSQLMonitor pro monitorov n¡ SQL pý¡kaz… zas¡lanìch na server a koneŸnØ komponentu TIBEvents pro zpracov n¡ ud lost¡ vznikaj¡c¡ch na datab zov‚m serveru. N vrh ý datovìch modul… Je to novì vizu ln¡ n stroj usnadåuj¡c¡ vytv ýen¡ a £dr§bu datovìch modul…. Zahrnuje n sleduj¡c¡ týi pohledy na datov‚ struktury: komponentn¡ pohled, hierarchickì pohled a datovì diagram. Komponentn¡ pohled zobrazuje komponenty pro pý¡stup k dat…m v tradiŸn¡ formØ, jak ji zn me ze st vaj¡c¡ch verz¡ Delphi. Hierarchickì pohled zase pýehlednØ zobrazuje jednotliv‚ komponenty podle vztahu rodiŸ - potomek Ÿi podle logick‚ n vaznosti prvk… datov‚ho modulu. Pro z kladn¡ datov‚ komponenty je hierarchick  n vaznost n sleduj¡c¡: TSession - TDatabase - TTable, TQuery - TDataset, TField. Panel hierarchick‚ho pohledu je samozýejmØ aktivn¡ a umo§åuje pýesouv n¡ jednotlivìch polo§ek pýeta§en¡m myç¡. Lze tak napý¡klad z palety komponent vybrat komponentu TDataSource a um¡stit ji pý¡mo do hierarchie komponent na prvek TTable. Tato komponenta tak z¡sk  vlastnost dataset a zaýad¡ se automaticky na po§adovan‚ m¡sto do hierarchie. Pro ka§dì prvek je rovnا k dispozici kontextov‚ menu, umo§åuj¡c¡ vìbØr akc¡ specifickìch pro danì prvek. Datovì diagram pýedstavuje velmi u§iteŸnì dokumentaŸn¡ n stroj, zvyçuj¡c¡ pýehlednost a orientaci v datov‚m modulu. Umo§åuje v grafick‚ podobØ zn zornit a vytv ýet vztahy mezi datovìmi mno§inami. Prim rn¡m modelovanìm vztahem je vztah 1 : N (master-detail), pýi jeho§ definici doch z¡ k vytvoýen¡ nezbytn‚ komponenty TDataSource a nastaven¡ pý¡sluçnìch vlastnost¡ podý¡zen‚ datov‚ mno§iny. D le lze modelovat vztah dohled v n¡ (look-up), kdy jedna datov  mno§ina obsahuje virtu ln¡ pole, jeho§ hodnoty jsou dynamicky dohled v ny v jin‚ datov‚ mno§inØ (tzv. lookup fields). SouŸ st¡ datov‚ho diagramu mohou bìt i libovoln‚ textov‚ popisy zvyçuj¡c¡ vypov¡dac¡ schopnost sch‚matu. Obr zek zn zoråuje jednoduchì datovì diagram se týemi vztahy 1 : N a jedn¡m "dohled vac¡m" vztahem. Seznamy pl novanìch Ÿinnost¡ na projektu K novìm vlastnostem Delphi patý¡ i veden¡ seznamu Ÿinnost¡ souvisej¡c¡ch s projektem (tzv. To-Do List). Vìvoj ý m…§e do tohoto seznamu vkl dat popis £kol… a u ka§d‚ Ÿinnosti specifikovat prioritu (od 1 do 5), pý¡padnØ modul, ke kter‚mu se vztahuje, kategorii a osobu zodpovØdnou za realizaci £kolu. SplnØn¡ Ÿinnosti pak vìvoj ý indikuje zaçkrtnut¡m pol¡Ÿka u pý¡sluçn‚ polo§ky v seznamu. K dispozici jsou samozýejmØ r…zn‚ druhy tý¡dØn¡ z znam… v seznamu a filtry podle modulu, zodpovØdn‚ osoby a podle kategorie. Rozç¡ýen¡ technologie MIDAS Technologie MIDAS (Multi-tier Distributed Application Services) pýedstavuje soubor mechanism… pro pýenos datab zovìch informac¡ mezi klientem a aplikaŸn¡m serverem ve tý¡- a v¡cevrstv‚ architektuýe. MIDAS je souŸ st¡ Delphi ji§ od verze 3 a po vìznamnìch rozç¡ýen¡ch v pýedchoz¡ verzi doch z¡ k jeho dalç¡mu rozvoji i v Delphi 5. Tato progresivn¡ technologie si u vìvoj ý… z¡sk v  st le vØtç¡ oblibu tak‚ d¡ky zmØnØn‚ obchodn¡ politice pro licencov n¡ firmy Inprise. D¡ky zmØnØ architektury dnes MIDAS umo§åuje vytv ýen¡ bezstavovìch vzd lenìch datovìch modul… a webovìch klient…. Nyn¡ lze ps t MTS servery a sd¡len‚ vzd len‚ datov‚ moduly bez vytv ýen¡ vlastn¡ch u§ivatelskìch rozhran¡. Nov  architektura rovnا zvyçuje vìkonnost vytv ýen‚ aplikace redukc¡ pýenosu zpr v. Ka§d‚ klientsk‚ vol n¡ obsahuje oproti pýedchoz¡m verz¡m MIDAS v¡ce informac¡, a je proto týeba menç¡ poŸet vol n¡. Nov  rozhran¡ zjednoduçuj¡ pýenos pro aplikaci specifickìch informac¡ pýi ka§d‚m klientsk‚m po§adavku na aplikaŸn¡ server. Ke st vaj¡c¡m Ÿtyýem nosnìm protokol…m, kter‚ MIDAS m…§e pou§¡vat (tj. Sockets, DCOM, CORBA a OLE Enterprise), nyn¡ pýibyl jeçtØ protokol HTTP. D¡ky nØmu lze vytvoýit MIDAS spojen¡ i pýes firewall a vyu§¡vat bezpeŸnosti protokolu SSL. Pro vytv ýen¡ lehkìch MIDAS klient… provozovanìch v internetov‚m prohl¡§eŸi slou§¡ nov‚ komponenty v paletØ komponent v z lo§ce Web Midas. Pro vytv ýen¡ tØchto klient… pro v¡cevrstv‚ datab zov‚ aplikace je týeba nahradit klasickì klient MIDAS speci ln¡ komponentou, kter  pracuje jako klient aplikaŸn¡ho MIDAS serveru a souŸasnØ jako webovì modul, kterì je vol n z WWW serveru a podle po§adavku u§ivatel… dynamicky generuje pý¡sluçn‚ HTML str nky pro komunikaci s klientem. Rozç¡ýen¡ v oblasti technologie ActiveX COM servery lze v Delphi 5 nainstalovat jako komponenty do palety komponent a pou§¡vat je pýi vizu ln¡m n vrhu. V paletØ komponent se objevila nov  z lo§ka Servers, kter  obsahuje komponenty reprezentuj¡c¡ ýadu pou§¡vanìch COM server… z kancel ýsk‚ho bal¡ku Microsoft Office. Tyto komponenty pýisp¡vaj¡ k snadn‚ integraci vyv¡jenìch program… s textovìm editorem MS Word, tabulkovìm procesorem MS Excel a dalç¡mi kancel ýskìmi aplikacemi. Dalç¡ vìznamnou novinkou na poli ActiveX je mo§nost vytv ýen¡ nov‚ho typu objekt…, kter‚ je mo§n‚ vyvol vat z ASP str nek na IIS serveru a kter‚ maj¡ pý¡stup k rozhran¡m reprezentuj¡c¡m po§adavek u§ivatele, vìslednou odezvu apod. Rozç¡ýen¡ knihovny vizu ln¡ch komponent VCL Rozç¡ýen¡ objektov‚ hierarchie Delphi zahrnuje d¡lŸ¡ vylepçen¡ existuj¡c¡ch komponent, nov‚ ADO komponenty, rozç¡ýen¡ pro internetov‚ aplikace a ýadu dalç¡ch novìch vlastnost¡. Modifikac¡ doznala komponenta TListView, THeaderControl a TCheckListBox. Pýi vytv ýen¡ internetovìch modul… lze pýiýadit na £rovni akce modulu (tj. na instanci tý¡dy TWebActionItem) objekt, kterì form tuje vìslednì HTML k¢d, a Delphi automaticky zajist¡ pýiýazen¡ tohoto k¢du obsahu n vratov‚ zpr vy, kter  se pos¡l  prohl¡§eŸi klientu. Objekt TDatabase nyn¡ umo§åuje spuçtØn¡ SQL pý¡kazu pomoc¡ nov‚ metody Execute, Ÿ¡m§ odpad  nutnost k tomuto £Ÿelu pou§¡vat samostatn‚ komponenty tý¡dy TQuery. Datab zov‚ komponenty TTable a TQuery maj¡ vlastnost AutoRefresh. Pokud je nastavena na hodnotu true, potom pýi potvrzen¡ zmØn z znamu metodou post doch z¡ k automatick‚mu naŸten¡ implicitn¡ch (default) a autoinkrement ln¡ch hodnot pol¡ z pý¡sluçn‚ datab ze, a nen¡ tud¡§ týeba volat metodu Refresh. Z d…vodu rozçiýov n¡ mo§nost¡ technologie MIDAS byla pýid na komponenta TWebConnection pro pýenos datab zovìch informac¡ protokolem HTTP. Nov  komponenta TWebBrowser umo§åuje vlo§it stranu prohl¡§eŸe Microsoft Internet Explorer do vytv ýen‚ aplikace. Tý¡da TApplication byla rozç¡ýena o vlastnosti BiDIKeyboard a NonBiDiKeyboard, kter‚ umo§åuj¡ u§ivateli urŸit rozvr§en¡ kl vesnice. Delphi 5 rovnا zahrnuje zdrojovì k¢d ke komponent m souvisej¡c¡m s rozhodovac¡ krychl¡ (decision cube), kterì souŸ st¡ pýedchoz¡ch verz¡ nebyl. Pot‚, co Delphi 4 umo§nilo podporu vytv ýen¡ NT slu§eb, pýich z¡ Delphi 5 s dalç¡ podporou vytv ýen¡ syst‚movìch program…, tentokr t se jedn  o aplikace zobrazovan‚ jako applety v ovl dac¡m panelu syst‚mu Windows. K tomuto £Ÿelu byly vytvoýeny dvØ tý¡dy - TAppletApplication a TAppletModule. R mce R mec (frame) je speci ln¡ typ formul ýe, kterì m…§e bìt vlo§en do jin‚ho formul ýe Ÿi r mce. R mce se vytv ýej¡ vizu lnØ obdobnìm zp…sobem jako formul ýe v samostatnìch knihovn ch. Pokud chceme r mec vlo§it do jin‚ho formul ýe, vybereme z palety komponent komponentu oznaŸenou jako frames a um¡st¡me ji na plochu formul ýe. Delphi n m n slednØ umo§n¡ vybrat si ze seznamu dostupnìch r mc…, resp. potomk… tý¡dy TFrame a na formul ý se vykresl¡ n mi vybranì r mec. Do tohoto r mce pak m…§eme pýid vat dalç¡ komponenty a v inspektoru objekt… mØnit vlastnosti vçech komponent v r mci obsa§enìch. Jedinou nepovolenou operac¡ je ruçen¡ komponent deklarovanìch v p…vodn¡m r mci. Hlavn¡m rozd¡lem mezi p…vodn¡mi a novØ pýidanìmi komponentami do r mce je jejich vlastn¡k (tj. vlastnost Owner). Zat¡mco p…vodn¡ komponenty deklarovan‚ v r mci maj¡ jako vlastn¡ka objekt r mce, je u dodateŸnØ pýidanìch komponent jejich vlastn¡kem objekt formul ýe. U§ivatelsk‚ nastaven¡ pracovn¡ plochy Delphi 5 umo§åuje po vytvoýen¡ vlastn¡ho uspoý d n¡ pracovn¡ plochy jeho pojmenov n¡ a ulo§en¡ pod symbolickìm jm‚nem. Obnoven¡ ulo§en‚ho nastaven¡ se prov d¡ prostìm vìbØrem jm‚na nastaven¡ z kombinovan‚ho seznamu v paletØ n stroj…. Jedno z ulo§enìch nastaven¡ plochy lze tak‚ urŸit pouze pro £Ÿely ladØn¡ vyv¡jenìch aplikac¡. Toto nastaven¡ se automaticky aktivuje pýi spuçtØn¡ aplikace a po jej¡m ukonŸen¡ se nastaven¡ plochy opØt zmØn¡ na p…vodn¡. Vylepçen¡ inspektoru objekt… Vçechny polo§ky nab¡zen‚ v inspektoru objekt… mohou bìt nyn¡ volitelnØ zobrazov ny nejen v abecedn¡m poýad¡, ale i podle logickìch kategori¡, do kterìch jsou vlastnosti objektu sdru§eny. Jedna polo§ka pýitom m…§e bìt zobrazena i ve v¡ce kategori¡ch, napý. souýadnice um¡stØn¡ komponenty na ploçe najdeme v kategori¡ch Layout, Localizable a Visual. Podle jednotlivìch kategori¡ lze tak‚ polo§ky v inspektoru objekt… filtrovat a z nar…staj¡c¡ho poŸtu vlastnost¡ objektu zobrazovat pouze ty, se kterìmi rutinnØ pracujeme (napý. m…§eme zak zat zobrazov n¡ kategorie Locale, v n¡§ zaýazen‚ vlastnosti nemaj¡ v naçich zemØpisnìch ç¡ýk ch velk‚ pou§it¡). Dalç¡m vylepçen¡m inspektoru objekt… je zobrazov n¡ obr zk… v rozbalovac¡ch seznamech u jednotlivìch vlastnost¡. Tak pýi vìbØru typu kurzoru nyn¡ v rozbalen‚m seznamu uvid¡me nejen symbolick  jm‚na tvaru kurzoru, ale i pý¡sluçnì obr zek. ObdobnØ pýi pýiýazen¡ ikony z komponenty TImageList konkr‚tn¡ vizu ln¡ komponentØ nemus¡me ji§ zad vat Ÿ¡selnou hodnotu ImageIndex, ale m…§eme si po§adovanì obr zek vybrat pý¡mo z rozbalen‚ho seznamu. Nov‚ mo§nosti ladØn¡ aplikac¡ Delphi 5 nab¡z¡ nov‚ pomocn‚ okno pro ladØn¡, zvan‚ FPU, kter‚ umo§åuje prohl¡§en¡ obsahu jednotky procesoru pro pr ci s plovouc¡ desetinnou Ÿ rkou. Okno FPU zobrazuje hodnoty registr…, stavy a informace o operac¡ch MMX a o operac¡ch s plovouc¡ desetinnou Ÿ rkou. Dalç¡ vylepçen¡ zaznamenala koncepce bod… pýeruçen¡ (breakpoints). Lze je novØ sdru§ovat do skupin a n slednØ prov dØt aktivaci a deaktivaci vçech tØchto bod… ve skupinØ jedn¡m pý¡kazem. Informace o zvolenìch vlastnostech bodu pýeruçen¡ (tj. podm¡nka pýeruçen¡, po§adovanì poŸet pr…chod… a skupina, ke kter‚ bod patý¡) jsou dostupn‚ nejen z okna seznamu bod… pýeruçen¡, ale i pý¡mo z vìvojov‚ho prostýed¡, po nastaven¡ kurzoru myçi na kruhovì symbol bodu pýeruçen¡ v editoru zdrojov‚ho k¢du. V z lo§ce menu Run najdeme dvØ nov‚ akce - pý¡kaz Attach to Process, kterì umo§åuje ladit proces spuçtØnì mimo vìvojov‚ prostýed¡ Delphi, a pý¡kaz Run Until Return, kterì pýi ladØn¡ funkce spust¡ prov dØn¡ programu a§ do m¡sta n vratu na nadýazenou funkci, kter  ladØnou funkci zavolala. Novì prohl¡§eŸ projektu Novì prohl¡§eŸ projektu (project browser) umo§åuje proch zet vçechny deklarace pou§¡van‚ v aplikaci. K dispozici jsou týi z kladn¡ n hledy - Globals, zobrazuj¡c¡ vçechny glob lnØ dostupn‚ deklarace seskupen‚ podle typ…, Classes, hierarchickì diagram deklarovanìch tý¡d zalo§enì na vztahu dØdiŸnosti od z kladn¡ tý¡dy Tobject, a Units, zobrazuj¡c¡ jednotliv‚ symboly podle jejich pý¡sluçnosti k modul…m. K symbol…m se d le na prav‚ stranØ prohl¡§eŸe zobrazuj¡ doplåuj¡c¡ informace. U prohl¡§eŸe m…§eme nastavit, zda se maj¡ zobrazovat pouze symboly deklarovan‚ v r mci projektu (to je implicitn¡ nastaven¡), Ÿi zda m  prohl¡§eŸ zahrnout i vçechny dostupn‚ symboly z Visual Component Library. ZmØna formy ukl d n¡ dat formul ý… Soubory s popisem formul ý… (s pý¡ponou dfm) jsou nyn¡ standardnØ ukl d ny jako prostì text. Toto nastaven¡ lze mØnit a pou§¡vat jako dosud bin rn¡ tvar ulo§en¡ dfm soubor…. N stroje pro lokalizaci SouŸ st¡ Delphi 5 je i sada n stroj… zvan  Integrated Translation Environment (ITE), jej¡m§ c¡lem je zjednoduçen¡ lokalizace vyv¡jenìch aplikac¡ a soubاn‚ho vìvoje pro r…zn‚ c¡lov‚ lokality. ITE je integrov no s vìvojovìm prostýed¡m Delphi a umo§åuje spr vu v¡ce lokalizovanìch verz¡ aplikace jako Ÿ sti jednoho projektu. Zahrnuje n sleduj¡c¡ týi n stroje - Translation Manager pro editaci pýekl danìch text…, Translation Repository, kterì pýedstavuje centr ln¡ datab zi pro pýeklady, kter‚ mohou bìt sd¡leny v¡ce projekty a r…znìmi vìvoj ýi, a koneŸnØ n stroj Resource DLL Wizard, kterì pom h  generovat a spravovat dynamick‚ knihovny se zdroji. TeamSource TeamSource je novìm n strojem pro ý¡zen¡ paraleln¡ch prac¡ na projektu a ý¡zen¡ obØhu dokument… mezi Ÿleny vìvojov‚ho tìmu. TeamSource pou§¡v  pro archivaci a aktualizaci sd¡lenìch soubor… syst‚m pro ý¡zen¡ verz¡ (typicky integrovanì PVCS firmy Intersolv), ale ve funkŸnosti jde d le a plnØ ý¡d¡ a koordinuje proces pou§¡v n¡ paraleln¡ho modelu ý¡zen¡ zdroj…. Jak je vidØt, inovacemi Borland u p t‚ verze sv‚ho vìvoj ýsk‚ho hitu Delphi skuteŸnØ neçetýil. Pýejme si jen, aby se vçe podaýilo vŸas dot hnout i do "v¡tØzn‚ho konce" a vìvoj ýi mØli opØt na co çetýit... Jindýich Zelenì