NOVICE

Kaj je prinesel novega Delphi 10.4?

Lani in letos smo v razvojno okolje Embarcadero Delphi 10.4, 10.4.1 in 10.4.2 dodali množico uporabnih in zanimivih novosti.

Lani in letos smo v razvojno okolje Embarcadero Delphi 10.4, 10.4.1 in 10.4.2 dodali množico uporabnih in zanimivih novosti. V tem dokumentu smo zbrali le najbolj pomembne spremembe – če si želite ogledati celoten seznam novosti, uporabite povezave, zbrane na koncu dokumenta.

Namestitev

Poenoteni program za nameščanje uporablja paketni upravljalnik GetIt za povezane (online) in nepovezane namestitve (offline, nameščanje iz datoteke ISO). Oba načina namestitve na enak način omogočata izbiro kombinacij funkcionalnosti, ki jo želite namestiti. Prav tako oba načina omogočata kasnejše spreminjanje (dodajanje in odstranjevanje) nameščenih lastnosti.

Integrirano razvojno okolje - IDE

Prve spremembe boste opazili takoj ob zagonu programa. Razvojno okolje smo posodobili, da deluje še bolj sveže, hkrati pa smo dodali množico majhnih bombončkov, ki vam bodo še olajšali razvijanje programov. Večina je povezana z veliko predelavo, ki se skriva v ozadju – prehodom na tehnologijo Language Server Protocol (LSP).

Z vpeljavo vedno bolj uporabljane tehnologije LSP smo analizo programa, ki ga trenutno izdelujete, preselili v zunanji program (LSP server), ki se samodejno požene skupaj z IDE. S tem smo dosegli, da sintaktična analiza programa ne upočasnjuje delovanja samega razvojnega okolja, hkrati pa so se nam odprla vrata bolj natančnega vpogleda v program, kot smo ga imeli na voljo doslej. Povedano po domače – ko uporabite Ctrl+klik, IDE ne bo več »zablokiral«, omenjeno kombinacijo lahko uporabite tudi med razhroščevanjem, Ctrl+klik pa bo delal tudi na rezervirani besedi »inherited«!

Analizo z LSP smo povezali v razne dele funkcionalnosti urejevalnika. Na voljo vam je izboljšani Code Insight (Ctrl+preslednica), ki sedaj omogoča dodatno filtriranje s tipkanjem in iskanje po podnizih; izboljšano prikazovanje parametrov izbrane funkcije, izboljšano prikazovanje napak Error Insight, v prihodnjih različicah pa bomo LSP uporabljali še za nove razširitve delovanja.

Urejevalnik sedaj poleg napak prikazuje tudi opozorila in namige (če to možnost vključite v nastavitvah), poleg tega pa prikazuje ikone za napako/opozorilo/namig v informacijskem prostoru levo od urejevalnika.

Posodobili smo tudi način izrisa opozorila. Poleg dosedanje »cik-cak« podčrtovanja lahko napake označimo tudi z valovito črto, pikami ali ravno črto.

Razvojno okolje sedaj uporablja novo komponento TCustomTitleBar (o njej več kasneje), ki omogoča, da naselite običajne gradnike VCL v naslovno vrstico okna. V naslovno vrstico smo preselili izbirnik namizja in teme ter okno za hitro iskanje IDE Insight.

Prenovljeno je tudi vznožje urejevalnika, kjer so sedaj na voljo nastavitve za izbiro kodne strani in nastavitev velikosti pisave.

Dodali smo podporo za format MSIX, novi Microsoftov način shranjevanja aplikacij za Microsoft Store, ki je nadomestil format APPX. Izboljšali smo podporo za zaslone 4K. Dodali smo boljše povratne informacije ob izvajanju dolgih operacij in še in še. V Delphi 10.4 IDE je toliko novosti, da jih boste odkrivali še dolgo po prvi namestitvi.

VCL

Drugo področje, v katerega smo ogromno vložili, je grafična platforma VCL. Zavedamo se dejstva, da je veliko število Delphi programerjev zavezano operacijskemu sistemu Windows in da je platforma VCL zanje izrednega pomena.

V različici 10.4 smo razširili podporo za zaslone z visoko ločljivostjo (high DPI). Izboljšali smo avtomatsko skaliranje komponent in izboljšali API za delo s slogi. Priložili smo več slogov, namenjenih predvsem zaslonom z visoko ločljivostjo.

V VCL smo dodali možnost preoblačenja posameznih gradnikov (»per control styling«). Sedaj lahko celo znotraj ene forme kombinirate klasične in preoblečene gradnike ter na sodobni preoblečeni aplikaciji uporabite »tisto eno« komponento, ki je nujno potreba za delovanje programa, a ne podpira preoblačenja.

Dodali smo gradnik TEdgeBrowser, ki v program vgradi brskalnik Edge (oziroma Microsoftov gradnik WebView2).

Omogočili smo razširjanje naslovne vrstice okna forme s komponento TTitleBarPanel, v katero lahko postavite druge gradnike VCL. Primer uporabe si lahko ogledate kar v novem 10.4 IDE, ki to možnost že s pridom uporablja.

Dodali smo gradnik TVirtualImage, ki podpira več ločljivosti in skaliranje DPI za vsako sliko. Z njim lahko nadomestite klasični TImage in izdelate program, ki ob spremembi ločljivosti monitorja prilagodi tudi vgrajene bitne slike.

Nova grafična komponenta TControlList omogoča izredno hiter prikaz ogromne količine podatkov, ki ga oblikujete po svoje. Oblikujete le eno vrstico (in to kar s klasičnimi komponentami, kot so TImage (ali TVirtualImage) in TLabel ter z novim TControlListButton), nato pa komponenta deluje »virtualno«, se pravi da ne hrani podatkov, temveč za vsako vrstico prikaza kliče dogodek, v katerem sami poskrbite, da se pravi podatek pokaže v pravi komponenti. Komponenta ima vgrajen tudi čarovnik, v katerem lahko izberete enega od vnaprej pripravljenih načinov prikaza podatkov – tega lahko seveda kasneje spremenite po lastni želji! Podprti so slogi, visoko ločljivi zasloni in povezovanje LiveBindings.

Še zadnja novost med gradniki VCL je urejevalnik števil TNumberBox. Gradnik v slogu Windows 10 je v celoti zgrajen v kodi in ga lahko uporabite na vseh podprtih sistemih različicah Windows. Je izredno prilagodljiv in omogoča urejanje celih in decimalnih števil ter denarnih zneskov.

Za še več možnosti prilagajanja videza programov pa imajo uporabniki s plačano naročnino na nove različice (»update subscription«) možnost prenosa gradnikov Konopka Signature VCL Controls, v katerem je več kot 200 gradnikov.

FireMonkey

Seveda nismo pozabili na grafično platformo FireMonkey. Tu so spremembe manjše, a jih ni malo.

Dodali smo podporo za vmesnik Metal na operacijskih sistemih macOS in iOS.

Na platformi Windows smo izboljšali gradnik TMemo, ki ponuja boljšo možnost vnosa v vseh svetovnih jezikih (boljša podpora IME).

Lastniki različic Enterprise in Architect lahko uporabijo razširitev FMXLinux za izdelavo grafičnih programov za operacijski sistem Linux.

Na iOS je gradnik TWebBrowser izdelan z API-jem WKWebView. Na macOS pa predvajalnik Media Player uporablja osnovo AVFoundation.

Podprli smo seveda tudi najnovejše različice operacijskih sistemov. Več o tem si oglejte na koncu dokumenta.

RTL

Poleg vizualne plati smo izboljšali tudi zaledje. Še posebej smo izboljšali knjižnico za večnitno programiranje Parallel Programming Library, ki je sedaj še hitrejša in bolj stabilna.

Dodali smo sinhronizacijsko orodje TLightweightMREW, ki omogoča sinhronizacijo tipa »Single Writer / Multiple Readers«. Implementacija je vezana neposredno na operacijski sistem in zato izredno hitra.

Izboljšali smo knjižnico za dostop do podatkov FireDAC, kjer smo poleg več splošnih izboljšav posodobili gonilnike za baze FireBird, PostgreSQL in SQLite.

Prevetrili smo temelje povezovanja LiveBindings in ga s tem krepko pohitrili.

Izboljšali smo delo z dokumenti XML (TXMLDocument) s številnimi popravki. Posodobili smo tudi orodje za uvoz SOAP WSDL.

Prevajalnik

Novosti še kar ni konec, saj smo nadgradili prav vse prevajalnike za vse podprte platforme.

Dodali smo podporo za kontrolirano inicializacijo, kopiranje in uničevanje zapisov (custom managed records). S tem lahko zapisom dodamo enako funkcionalnost, kot jo razredom prinašajo konstruktorji in destruktorji, hkrati pa imamo na voljo še možnost nadzora prirejanja zapisov, česar razredi sploh ne omogočajo.

type

 TMyRecord = record

   Value: Integer;

   class operator Initialize (out Dest: TMyRecord);

   class operator Finalize (var Dest: TMyRecord);

   class operator Assign (var Dest: TMyRecord;

                          const [ref] Src: TMyRecord);

 end;

Poenotili smo upravljanje s pomnilnikom. Ukinili smo sistem ARC (automatic reference counting). Na vseh platformah se sedaj objekti vodijo na »klasičen« način – dodeliti in uničiti jih morate v kodi. Zaradi tega boste morali morda spremeniti obstoječe programe. Vodenje pomnilnika za vmesnike in nize ostaja nespremenjeno.

S tem smo povečali hitrost izvajanja programov, poenostavili celotno družino prevajalnikov (in s tem zmanjšali možnosti za napake v njih) ter izboljšali povezljivost med Delphijem in C++.

Dodali smo tudi več kot 35 optimizacij prevajalnikov, kar jih je opazno pospešilo.

Podprte platforme

Delphi 10.4 podpira naslednje različice operacijskih sistemov:


Dodatne informacije


Naročite se na e-novice

Bodite obveščeni o aktualnem dogajanju, prireditvah, novih produktih, študijah primerov in ostalih ugodnostih.
Pridružite se naši skupnosti!