Firemonkey från enkel till komplex. Delphi, Firemonkey, all-access och andra trevliga överraskningar

I samband med den här bloggen är detta projekt främst intresserat i vad som implementeras på Firemonkey och är en fantastisk demonstration av kapaciteten hos den här plattformen. Och så, bokstavligen förra veckan släpptes en offentlig beta-produkt. Således kan bloggläsarna "röra" riktigt komplexa Firemonkey. anknytning.

Några ord om programmet. Först och främst bör det noteras att den nuvarande versionen av sfären är placerad lite annorlunda. Ja, det händer ibland ...

Ny Spherelive. Det här är inte bara en annan budbärare. Först och främst är detta ett verktyg som gör att du effektivt kan organisera en pedagogisk process. Det möjliggör avlägsna föreläsningar, privat rådgivning, individuella klasser och andra liknande händelser. Samtidigt är det utrustat med nästan allt som är nödvändigt för arbete. Från ett unikt filöverföringssystem och slutar med det mest kraftfulla faktureringsundersystemet.

I detta skede är priset på att använda produkten ganska demokratiskt. Med förbehåll för ett begränsat antal lyssnare och en liten mängd resurser kan produkten användas gratis.

Naturligtvis använder sfären den största fördelen Firemonkey. - Cross-Platform. Nu är ansökan tillgänglig i Windows och MacOS-redaktörer. Android-versionen förväntas från dag till dag.

Men för mig är Spherelive intressant, först och främst som en innovativ produkt med en hel uppsättning ursprungliga lösningar. Ibland bara på nivån "... Wow, hur gjorde du det?" Förresten är en av utvecklarna av sfären aktivt involverad i diskussioner om forumet tillägnad Firemonkey. I sig kan det fungera som en anledning att ladda ner programmet och diskutera tekniska problem direkt med författaren. Tro mig, det finns något att se, det finns något kommer att lära sig.

TLISTVIEW. är en av nyckelkomponenterna för att bygga ett mobilt applikationsgränssnitt i Firemonkey.. Denna komponent är inte den enklaste att använda, innebär ofta en betydande mängd kod, men ger utvecklaren en betydande handlingsfrihet. Naturligtvis kan applikationer också användas Tlistbox.där allt är mycket lättare. Men Tlistbox.Det kan vara bra att visa ett fast antal poster, för att mata ut data från datakällor måste entydigt användas. TLISTVIEW..

De viktigaste skillnaderna i tlistview från tlistbox i:

  1. Tlistboxitem.- Kontroll, Tlistviewitem.inte
  2. I Tlistboxitem.du kan lägga till några kontroller med hjälp av förälder. I Tlistviewitem.- Inte.
  3. Tlistviewitem.butiker endast data för visning
  4. Tlistviewitem.själv utför ritning lagrad data genom metoden Framställa.
  5. På bekostnad av manuell ritning i TLISTVIEWITIM, uppnås hastighetsökningen och den låga minnesförbrukningen (lagring av faktiska data).
  6. Att skapa ditt eget alternativ Tlistviewitem.Du måste skapa din produktklass, det är att implementera de nödvändiga data (till exempel) och skapa en in-place-redigerare för att redigera tiden, registrera den, etc.

I sig är det faktum att förbättra produktiviteten och minska minnesförbrukningen ett bra argument till förmån för användning. TLISTVIEW.. Men det finns något annat.

I många Android Ansökningar Jag var tvungen att följa följande lista över listor. När du klickar på objektet (objekt, om du följer den valda terminologin), utförs en specifik åtgärd. Vanligtvis kallas en ny blankett för datadredigering. Men när du trycker på med Holding (Long Tap) utförs en helt annan åtgärd. Och dessa händelser skär inte. Med andra ord kan Android-applikationer tydligt skilja mellan "lång pressande" från "vanliga". Dessutom fungerar inget av dessa händelser när du rullar listan. Visuellt exempel är en lista med bokstäver i Yandex Mail.

Först och främst vill jag gratulera alla bloggläsare med de senaste semestern och önskar allt det bästa under det kommande året.

På grund av förståeliga omständigheter gjorde jag inte ett traditionellt nyårsrapport, samt att bygga några planer för året. Ändå står livet inte stilla, arbetet fungerar, och vissa händelser i Delphis värld förekommer. Ett urval av missade "nyheter från världen Delphi" under julferie som jag åtar sig att publicera inom en snar framtid. Under tiden ska jag berätta om den nya apparaten jag köpte.

Med de egenskaper du kan hitta på den officiella hemsidan. Och det subjektiva intrycket är mycket trevligt. Uppmärksamhet dras till det faktum att enheten bokstavligen fylls med märkesvaran från tillverkaren. Och från säljarna fick en imponerande uppsättning programvara. I arbetet är smarttelefonen tillräckligt Shouter och rättvist motiverar sin kostnad (cirka $ 200). Förresten köpte jag min tidigare telefon GSMART 1362 om samma pengar för 2 år sedan. Men som du antagligen gissade var det viktigaste intresset för mig hur man skulle arbeta Firemonkey. Applikationer.

Innan du fortsätter berättelsen om timern - två nyheter.

Först kom den första XE7-uppdateringen ut. Med tradition är det tillgängligt för registrerade användare. Lista över fasta buggar du kan hitta. Jag ville se hur ansökan beter sig i en uppdaterad miljö. Egentligen behövde inga korrigeringar inte göra det, även om det experimentella fältet förblir.

Andra nyheter. Embarcadero Specialerbjudanden förlängs senast i slutet av året:

Tja, nu direkt till posten. I princip är allt som vi har lämnat för att försöka starta en redan skapad Android-applikation. För detta använder vi vad jag skrev om i tidigare inlägg. Nämligen ny. Jag debybed den här ansökan på Nexus 7., tillsattes därför representationen av Android 7 "tablett. Designen var tvungen att "verifiera" bara den minsta.

Förmodligen skrev min timer inte lat. Och i samband med att stödja utvecklingen för mobila plattformar kan uppgiften att skriva en timer på Delphi i allmänhet betraktas som en kult. Så jag trodde, varför som ett exempel på utveckling Firemonkey. Applikationer demonterar inte timern. Under Android, naturligt. Det är självklart min åsikt om uppgiften som, men inte särskilt svårt, har fortfarande sina egna nyanser. Kanske kommer du att ha några kommentarer, eller förslag, skulle vara underbart att diskutera dem i kommentarerna. Jag är inte en expert på att skriva mobila applikationer, så någon av din kommentar kommer att vara värdefull för mig.

Vi kommer att utveckla exakt timern, på den engelskspråkiga förståelsen av denna term. Det vill säga, ratten och fyra knapparna visas på skärmen - "Start", "Paus", "Stopp" och "Avbryt". Nedräkningen kommer att utföras i framåtriktningen (dvs tiden kommer att öka). En variant där tiden är inställd och nedräkningen i engelsktalande terminologi kallas Stop Watch, kanske kommer jag att försöka inse det senare. Den appen, som vi kommer att hantera funktionaliteten närmare stoppuret.

Delphi XE7, låter dig avsevärt förenkla utvecklingsprocessen, på grund av det faktum att vi nu kan skapa och felsöka en riktig applikation för Win32, och sedan bara lägga till blankettsyner för de nödvändiga mobila enheterna och, något med angivande av dem, få en fungerande mobil Ansökan. Låter för vackert, vad skulle vara sant? Kanske. Men jag vill kolla detta uttalande genom att implementera uppgiften.

Ju oftare är jag frågade mina kollegor i privata konversationer om det är möjligt att utveckla mobila applikationer i Firemonkey. Eller är det en prototyp snarare än en produktionslösning?

Jag tror, \u200b\u200bnu kan jag säkerställa även ut och ut skeptikerna.

Min Bosom-vän och kollega Tagir Yumaguzin berättade för det projekt som han deltog för länge sedan. Nu, när projektet är i pre-release-staten, bestämde vi oss för att den här beskrivningen kommer att vara intressant för Delphi-samhället. I kärnan är detta ett riktigt stort projekt som implementeras i FM. Vi pratar om Sphere Live Project. En liten artikel som var förvånad för det projektet publicerades nyligen i Habrahabr.ru Alexey Glyzin, chef för "Utvecklingsavdelningen gick med på att berätta mer om projektet med hänsyn till publiken i min blogg.

A.b. - Alexey, i allmänhet, vad ditt projekt är?

A.G.: - Tanken har inte dykt upp på en gång och omedelbart. Innan "SPHERE" -projektet hade vårt team arbetat med projektet där strömmen Audio / Video Technologies genomfördes. Senare skapade vi vår egen programvara som kunde leverera multimediaflöden till ett obegränsat antal användare, inklusive feedback. Men vi behövde ha en fakturering med.
Ansökan måste uppfylla Sevel-kraven. För det första, den maximalt förenklade organisationen av konferenser eller överföring till deltagarna som vi inte kan förutsäga. För det andra är det viktigaste, att ge våra kunder möjlighet att tjäna med vår ansökan och minska systemets komplexitet, antalet instrument som behövs för att nå målet. Enkel organisation av kurser, webinar eller bara ett samråd.

En liten scour för minne angående Firedac I den aktuella versionen Delphi Xe6.. Men förut, några ord om var du ska leta efter svar på frågor om Firemonkey.. Rysktalande användare här var i ett privilegierat läge.

När du förbereder Kharkiv-evenemanget som en del av World Tour Rad Studio Xe5, sprang jag in i ett litet problem med att arbeta med Sqlite. via Firedac. Om applikationen fylls i Windows överförs för att överföra tillsammans med applikationen till Android, Cyrilliska linjer i databasen slutar läsa (istället för bokstäver visas frågetecken). Om du fyller i databasen direkt på din mobila enhet läses ryska tecken ganska korrekt. Data från basen slutförd i en tredje part ansökan, eller i Delphi. En applikation med andra komponenter av dataåtkomst visas också normalt. Jag kunde inte hitta lösningar för att hitta lösningar, och jag var tvungen att citera den berömda ukrainska fotbollsspecialisten: "Vi kommer att förstå!"

Till skillnad från den senare lyckades jag hantera det problem som beskrivs. Som standard när den är ansluten till Sqlite. i Firedac Ett ANSI-strängformat används.

Om det är tvungen att installera Unicode, kommer allt att fungera som det ska. Men det finns ett obehagligt ögonblick. Genom att ändra formatet på strängarna måste du återskapa en lista med fält i alla dataset, samt koppla om de komponenter som är ansvariga för att visa och ange data. Därför är det bättre att ta hand om kodningen omedelbart.

I de tidigare delarna av denna miniserie behandlade vi skapandet av en bas, dess struktur och anslutning till den från Delphi. I den här delen föreslår jag att du ska hantera visning av data från tabellerna, från det enklaste fallet.

En enkel datredaktör i tabellen är vanligtvis en del av en integrerad applikation. För att redigera tabeller använder jag vanligtvis en separat form. Låt oss börja med produktlistan. Först och främst måste vi skapa en dataset för att komma åt bordsdata. I vårt fall är det ganska möjligt att använda komponenten. Tadtabel. Placera den i Datamodule och ange värdet på fastigheten Förbindelse. I egenskapsredaktör Tablename. En lista med tabeller visas från vilken du väljer tabellen Produkter.. Om du är klar korrekt kan du tilldela en egendom Aktiva. Sant värde. Komponenten är bättre att omedelbart byta namn (till exempel AdtProduct). Därefter skapar jag vanligtvis en uppsättning fält för dataset. Ring redigeraren för fälten (dubbelklicka på komponenten) och välj Lägg till alla fält i snabbmenyn.

För dem som inte känner till kärnan i denna operation. Här skapar vi en förinstallerad uppsättning datasetfält. Om vi \u200b\u200binte gör det manuellt i designläget, kommer det i princip inget hemskt att hända. I körtid skapas den här uppsättningen automatiskt. Men jag föredrar ändå att skapa det manuellt. Det finns flera anledningar till detta. För det första är det bekvämare att styra fälten med en uppsättning fält, eftersom vi själv kan skapa ytterligare (beräknade eller lookup) -fält i designläge. Vi kan också ändra egenskaperna hos fälten själva. Och dessutom får vi möjlighet att kontakta koden till fälten av TIME-komponenten, som enligt min mening förenklar skrivkoden avsevärt.

Som i fallet med en VCL-applikation, anslut till dataset-komponenten Tdatasource.. Denna komponent kommer att kommunicera mellan dataset och visuella kontroller. Egenskapen DataSet Component ska referera till vår dataset (AdtProduct). Nedan ger jag ett DFM-filfragment

Objekt AdtProduct: Taddtable IndexfieldNames \u003d "ID" -anslutning \u003d Adconnection UpdateOptions. UpdateAbleName \u003d "Produkt" Tablename \u003d "Produkt" Left \u003d 64 Top \u003d 192 Objekt Adtproductid: Tadautoincfield Fieldnamn \u003d "ID" Ursprung \u003d "ID" ProviderFlags \u003d [pFinwhere, pfiney] ReadoneLy \u003d True End Object AdtProductTitle: Tstringfield FieldName \u003d "Titel" Ursprung \u003d "Titel" Storlek \u003d 50 Endobjekt DSProdukt: TDatasource Dataset \u003d AdtProduct Left \u003d 120 Top \u003d 192 End

Var uppmärksam på en nyfiken funktion, är datamodulationsfilen inte lagrad i FMX-format som en vanlig Firemonkey-form, men i DFM-format, som i VCl.

Nästa steg är att skapa ett datasinställningsförfarande som vi måste ringa i körning när du startar programmet. Skapa det i samma datamodul. Procedurkoden är extremt enkel:

Procedur TDM. ConnectTodb; Börja adconnection. Öppna (); Adtprodukt. Öppna (); slutet;

Procedursamtalet kommer att placeras i OnCreate Event Handler för Datamodule.

Delphi Xe2 i september av det förflutna innehåller ett rekordantal av innovationer.
Korta recensioner av delfisk Xe2-funktionerna har redan publicerats på Habré. Men självklart var Firemonkey-plattformen den mest ljusa innovationen, och här skulle jag vilja betala lite uppmärksamhet åt henne.
Jag gjorde ett litet urval av referenser till material som, som jag hoppas, kommer att hjälpa dig att utarbeta en mer eller mindre adekvat idé om den här plattformen. Men innan, för dem som inte vet, kommer jag kort att berätta vad Firemonkey är.
Embarcadero Technologies positionerar Firemonkey som en plattform för att skapa komplicerade affärsapplikationer för Windows, Mac och IOS. I det här fallet är den här plattformen infödd för var och en av OS, d.v.s. När programmet som skapats av Firemonkey inte används av ytterligare tillägg.
Firemonkey är ansluten direkt till det inbyggda (från OS) grafiskt bibliotek, till exempel OpenGL eller DirectX. Således föreslås den bästa lösningen från GPU-synvinkel.
Kärnan i Firemonkey-arkitekturen är ett kraftfullt klassbibliotek (inklusive visuella komponenter).
Målplattformen väljs under kompileringsprocessen.
Den första versionen av Firemonkey stöder bara Win32, Win64, MacOSX och IOS, i framtiden, planerar Embarcadero att hämta den i flera andra plattformar.

Vad ska jag tänka på?

Trots det faktum att Firemonkey-plattformen ger en omfattande verktygsutveckling av 3D-applikationer, kan det inte betraktas som en spelmotor. Firemonkey är placerad exakt som en plattform för att utveckla affärsapplikationer.
Nu är produkten i den första etappen av dess utveckling. Och många Firemonkey-funktionalitet genomgår förändringar som högkvalitativa och kvantitativa.

Jag hoppas att referenserna nedan kommer att bidra till att hantera de viktigaste möjligheterna för den nya plattformen.
Officiell produktsida på Embarcadero (RUS.)

Bland det engelskspråkiga materialet vill jag lyfta fram serien (Eng.)

Vad att se?

När det gäller den senaste versionen av Delphi är det videomaterial som ägnas åt möjligheterna för produkten och teknikerna att arbeta med det mer än någonsin. Både tjänsteman, från Embarcadero och oberoende utvecklare. YouTube har mycket video om Firemonkey, du kan helt enkelt använda sökningen. Bland detta kommer det överflöd av materialet att fördela en serie tre rullar från Marco Kant - Rad i Action Landing-sida. Således ger ditt forskningsvektorverktyg.

Vad är firemonkey?


Firemonkey (FMX) - Framework för plattformsutveckling som för stationära system (Windows, Mac OS + inom en snar framtid är det planerat att stödja serverns del på Linux) och mobil (iOS och Android) med Delphi / C ++ - Språket .

Funktioner:

  • unified Code Base för alla plattformar;

  • alla styrenheter (visuell komponent) kan vara en behållare (förälder) för andra komponenter;

  • närvaron av en mycket avancerad relativ plats (20 typer) av komponenter på formen;

  • LiveBinding gör att du kan ansluta alla datatyper eller information till ett användargränssnitt eller grafiskt objekt;

  • förekomsten av former av form / komponenter;

  • Förhandsvisning med flera enheter gör att du kan konfigurera en visuell representation för var och en av plattformarna;

  • Fireui Live Preview - Visar syn på applikationen på realtidsenheter.

Förmågor:

  • med hjälp av den inhemska API på var och en av plattformarna, också förmågan att ringa från tredje parts inbyggda bibliotek;

  • interaktion med alla sensorer (GPS, accelerometer, kompass, Bluetooth (inklusive LE) och andra);

  • stöd push-meddelanden, IoT;

  • stöd för asynkrona HTTP-förfrågningar;

  • de flesta databasstöd (MSSQL, MySQL, Oracle, PostgreSQL, MongoDB, etc.);

  • arbeta med molntjänst (Amazon, Azure);

  • stöd Android Service.

Nackdelar (för närvarande):

  • brist på stöd för anpassning av inhemska klasser;

  • genomförandet av specifika saker är antingen omöjligt (widgets, expansion (iOS), etc.) eller en klockdans behövs (bakgrundsservice, sändningsmeddelande, etc.);

  • anpassning Splash skärm (initial skärm) för att uttrycka det mildt nej;

  • FMX-kontroller använder sin egen återgivning (visualisering, ritning), som är rent visuellt likadan

  • användningen av inbyggda kontroller är förknippad med stor tv;

  • med en stor nestning av komponenterna, inträffar otroliga saker: applikationsstjärnorna på ett brett utbud av platser, fokus är förlorat, det hänger, etc.;

  • informationsfelsökningsapplikation på mobila plattformar noll;

  • beskrivningen av fel på mobila plattformar reduceras till värdelös "fel 0x00000x";

  • sammanställningstiden vill vara det bästa för medelstora och stora projekt;

  • behöver använda en fil för att komma ihåg mobila applikationer för varje plattform;

  • det finns inget stöd för Intel Atom Architecture;

  • otillräckligt pris jämfört med konkurrenter.

Fördelar:

  • mycket aktiv utveckling Nyligen både produkt och samhälle, stöd för ny och ny teknik.

  • förekomsten av ett stort antal gratis och kommersiella komponenter;

  • applikationens hastighet är mycket nära den infödda;

  • mycket avancerad visuell redaktör och miljö som helhet, tillgänglighet av stilar;

  • möjligheten att testa ansökan på WIN, och bara sedan distribuera på enheter, vilket är mycket accelererande utvecklingen.

  • Ändra läget / plattformen med lätt handflyttning;

  • Perver ger enkel interaktion med MacOS när du utvecklar Apple OS;

  • stöd 3D-grafik ut ur lådan.

Sammanfattningsvis vill jag säga att Firemonkey under de senaste åren har vuxit i ett professionellt verktyg för konstoch inte bara. Många nackdelar löses gradvis och med varje frisättning blir produkten mer och mer modern och självförsörjande, försvinner också den befintliga skepticismen till det delphi-språket som är förknippat med många års stagnation. Att skriva nya projekt på Firemonkey är "säkert" och lovande.

Mer än tre år har gått sedan den codegear-divisionen, som ansvarar för att skapa världsberömda verktyg som Delphi, C ++ Builder och JBuilder, liksom Interbase DBM, har blivit en del av Embarcadero-tekniken, känd för sina verktyg för att designa och administrera databaser. Och två år - sedan vi diskuterade på sidorna i vår tidskrift, vad man kan förvänta oss på verktyget, så populärt med ryska utvecklare. Vad är nytt på detta område under de senaste två åren och vad vi ska vänta inom den närmaste framtiden, vi bad att berätta för David Insessonon, vice ordföranden för förbindelserna med utvecklare och den främsta evangelisten i Embarcadero Technologies, och Kirill Rannev, chef för representantkontor Embarcadero Technologies i Ryssland. För de yngsta läsarna, låt oss meddela att detta inte är den första intervjun som David och Kirill ger dator, - vårt samarbete har fortsatt för det andra decenniet. Och ungefär samma år publicerar vi regelbundet recensioner för hantering av databaser, vilket är uppmärksam på Embarcadero-produkter.

Datorpress: David, din division är en del av Embarcadero i tre år. För två år sedan var du full av entusiasm om det faktum att det blev en del av företaget nära dig av mål och ande. Har något förändrats under den här tiden? Upplever du dina kollegor tidigare entusiasm?

Ja, jag är fortfarande full av entusiasm. Den viktigaste förändringen som inträffade från det ögonblick som vi blev en del av Embarcadero, är vad många investeringar har gjorts i utvecklingen av Delphi. Antalet anställda som arbetar med utvecklingsmedlet ökade, antalet tekniker som vi kan utveckla eller, om det behövs, förvärva det.

Släpp Rad Studio Xe 2, som vi planerar att demonstrera i Moskva är den största utgåvan av den här produkten med stora funktioner och ett stort antal stödd plattformar från tiden för den första versionen av Delphi, skapad av en annan 16-bitarsversion av Windows och den tidigare innovativa produkten som kopplade komponentmetoden och sammanställningen i maskinkod. Nu stöder vi utvecklingen inte bara för Windows, men också för Macintosh, för att inte tala om webbout och skapa applikationer för mobila enheter, och dessa applikationer för olika plattformar kan ha en enda kod.

Den nya utvecklingsplattformen - Firemonkey är det gemensamma arbetet i Embarcadero och det nyligen förvärvade ryska företaget KSDEV från Urlande, komponenttillverkare för vektorgrafik, DirectX och OpenGL, teknikskapande teknik och Delphi-komponenter som använder en grafikprocessor med Pixelshader 2.0. Vi köpte KSDEV (se ksdev.ru) för ett år sedan och började samarbeta för att skapa ett verktyg för flera plattformar, inklusive en plattform för att utveckla Firemonkey-applikationer med komponenter för Delphi och C ++ Buider för att skapa ett användargränssnitt för applikationer, integration Med databaser, grafikbehandling med grafikprocessor och integration med operativsystemet.

Med hjälp av Firemonkey kan du skapa en ansökan, när du utför de centrala och grafikprocessorerna, samarbeta med olika kompilatorer och exekveringstidsbibliotek (Run-Time-bibliotek, RTL) kan sammanställas för Windows, Mac OS eller IOS. I stället för att studera programmering med olika grafiska bibliotek, studera API: erna av olika plattformar som har olika koordinatsystem och olika funktioner, utvecklare som använder Delphi och C ++ Builder kan tillämpa samma komponentmetoder, visuellt redigeringsformer och anslutning till databaser genom att flytta musen komponent. Detta är ett fundamentalt nytt sätt att skapa applikationer som körs på olika plattformar, och efter det är framtiden. Om du vill lägga till support för andra operativsystem och plattformar till din ansökan, kommer det inte att vara nödvändigt att återkalla och utveckla det - det kommer helt enkelt att kompilera det.

Vi skapar nya kompilatorer som genererar maskinkod (inbyggd kod). Idag finns det Delphi-kompilatorer för 32- och 64-bitars versioner av Windows, 32-bitars versioner av Mac OS 10. Och vi arbetar med följande generations Delphi och C ++ Builder Compilers, vilket gör att du kan skapa en hög- Prestanda maskinkod för både listade och för andra. plattformar, som Android eller Linux, och spara samma design, samma komponenter, samma kod på grund av användningen av olika kompilatorer och exekveringstidsbibliotek.

Som du kan se har jag tillräckligt med skäl för entusiasm. Och de utvecklare som jag träffar runt om i världen vet att Embarcadero investerar många medel i Delphi och C ++ Builder, liksom i utvecklingsverktygen för PHP.

KP: Vilken framgång inom integration av verktyg för två företag lyckades du uppnå under de senaste två åren? Vad är planerna för Embarcadero för framtiden på detta område?

Di.: Vid den tidpunkt då den codegear divisionen var en del av Embarcadero, hade detta företag ett team av utvecklare i Toronto, Monterrey och Rumänien, vi var fortfarande i Scottswall och i Ryssland, i St Petersburg. Embarcadero hade verktyg för utvecklare och databasadministratörer, codegear - applikationsutvecklingsverktyg, men den senare använder också databaser. Företag - Detta är en fackförening, kunskap i databaser, kodoptimering, inklusive server. Företagets förening ledde också till skapandet av en ny AppWave-produkt - speciell teknik för att göra det vanliga Windows-programmet till något som är mycket enkelt att använda (som applikationer för iPhone eller andra enheter). AppWave låter dig installera programmet, men välj det bara och körs från de beredda applikationsservrarna (app), och det kommer att utföras på en användardator utan att göra ändringar i registret och systemområdet i filsystemet. Förresten är AppWave Application Browser skrivet i Delphi. Embarcadero använder Dephi för sin egen utveckling och vår expertis inom applikationsutveckling.

Ansökan om iPhone (IOS) skapad
Använda Firemonkey-plattformen

Du kan också tillämpa integrationen av våra utvecklingsverktyg och DB Optimizer för att optimera SQL-frågor när du skapar applikationer. Genom att skicka SQL-kod direkt till DB Optimizer kan du profilera den, testa och returnera den tillbaka till utvecklingsmiljön i sin optimerade version. Embarcadero-undersökning i databaser får också förbättra datasnap-tekniken. Tack vare utvecklarna från Toronto fick vi mycket kunskap om arkitekturen i multi-delsystem och databaser. Nu har vi en gemensam expertis för att skapa en serverkod och lagrade procedurer i båda företagen. Vi har sådana verktyg som Rapidsql och DB Change Manager, liksom utvecklingsmiljön som förenklar skapandet av serverns kod, till exempel, tillåter kodinsikt och kodfyllnadsteknik att du skapar SQL Insight och SQL Compltion Technologies. Våra vanliga tillvägagångssätt för skapandet av klient- och serverkoder, vår övergripande filosofi gör att du kan ge allmänna funktioner för att hantera databashantering och applikationsutvecklingsverktyg.

Kirill Rannev: Jag vill lägga till en nyfiken viktig. Från en kommersiell synvinkel är det mycket viktigt hur vi levererar våra verktyg. Till exempel innehåller den nya utgåvan av Rad Studio Xe 2 Ultimate en komplett uppsättning DB Power Studio-verktyg. Det här är en mycket kraftfull uppsättning verktyg, inklusive RapidsQL Query Development Environment, DB Change Manager, och DB Optimizer DB Optimization Tool, låter dig genomföra en viktig del av utvecklings- och implementeringsprocessen, hantera ändringar i datamodell, databas, kod , etc. Detta är en mycket bra och korrekt kombination av teknik.

Di.: Men om nödvändigt kan utvecklare ansöka om subversion för att styra källkodsversionerna och db Change Manager för att styra versionerna av metadata. Du kan använda kodprofilering och DB Optimizer för att optimera serverkoden, Rapidsql för att skapa och debugs serverkod och våra utvecklingsmiljöer för att skapa och felsökas. Denna kombination av teknik i Rad Studio Xe Ultimate Edition demonstrerar paralleller mellan databas- och applikationsutvecklingsmodeller. De flesta utvecklare som skapar affärsapplikationer med Delphi och C ++ Builder arbetar med databaser och behöver dessa verktyg, och Rad Studio Xe Ultimate Edition är en utmärkt kombination för sådana utvecklare.

KP: Modern användare är inte längre en användare av Windows-plattformen. Vi använder mobila enheter, iPhone, iPad, enhet baserat på Android-plattformen. Det innebär att utvecklare måste börja fokusera på olika plattformar utan en betydande ökning av utbildningsinvesteringarna - det vill säga att universella verktyg behövs. För att förvänta sig att uppkomsten av universella verktyg från plattformstillverkare är orealistiskt, och i denna fråga kan vi bara räkna med oberoende verktygstillverkare. Vad kan vi räkna med Embarcadero?

Di.: Vi har fortfarande mycket att göra på området för att stödja plattformar. Idag presenterar vi stöd för iOS-plattformen för iPhone och iPad, då kommer vårt stöd att få smartphones baserat på Android-plattformen, Windows 7 och Blackberry. I Rad Studio Xe 2 började vi med skapandet av Firemonkey-plattformen för iOS, och sedan överför Firemonkey till andra plattformar.

Samtidigt finns det ett stort antal operativsystem med stöd för pekskärmar (pekskärm), för telefoner, tablettdatorer och enheter, stationära datorer, och vi kommer att fortsätta att lägga till stöd för dem. Dessutom finns det röststyrningssystem, rörelse, biometriska system, accelerometrar, så vi måste fortsätta att expandera Firemonkey så att alla utvecklare kan utnyttja nya plattformar. Till exempel var Microsoft Kinect-enheten avsedd för Xbox 360, och nu finns det ett lämpligt SDK (mjukvaruutvecklingssats) och för Windows. Och vi har redan exempel där vi använder programmet för att hantera applikationen ungefär, precis som musen eller tangentbordet brukar gälla.

När du skapar program med mycket komplexa grafik genererar du en hel värld av nya användargränssnitt. Om vi \u200b\u200bhanterar Windows-operativsystemet, inkapslar vi sitt Windows API-applikationsgränssnitt i VCL-biblioteket (Visual Component Library - ett bibliotek med visuella komponenter, som ingår i DELPHI och C ++ Builder-utvecklingsverktygen. - Ungefär. ed.), som förresten kan tillämpas ytterligare. Och i Firemonkey inkapslar vi operativsystemets API. Men idag manipulerar vi formerna och grafiken mycket mer allmänt. Du kan också lägga till de fysiska egenskaperna hos plats för animering och specialeffekter. Dessutom finns det ett stort antal andra ytterligare möjligheter att skapa användargränssnitt som vi kommer att implementera de närmaste åren för olika plattformar, mobil- och tablettenheter.

Microsoft har nyligen publicerat detaljerad information om Windows 8, som bör släppas om ett år. Vi kommer att stödja dessa innovationer i VCL-biblioteket och i Firemonkey-plattformen. Men Delphi är ett utvecklingsverktyg, utformat inte bara för Windows, men också för Macintosh, iPhone och iPad. Vi utvecklar också våra PHP-produkter, support JQuery Mobile, använder iOS-programgränssnittet för att utveckla mobila klientprogram och skapa server PHP-program med hjälp av guider och verktyg för att generera Client JavaScript och HTML-koder och Cascading Style-lakan. Vi kan skapa paket från PHP-applikationer och klientprogram med inbyggd kod för iPhone IOS, medan en sådan klient kommer att kommunicera med PHP-servern. Och den, kommer i sin tur att kommunicera med databasservern och med webbplesen - med allt du behöver för företag.

Radphp Xe2 utvecklingsmiljö. Skapa en mobil webbapplikation
Använda jquery mobilkomponenter för iPhone 3G

Med andra ord planerar vi att utöka Firemonkey och VCL: s förmåga, inklusive i området för att stödja mobila plattformar.

KP: Kan du berätta mer om Firemonkey-plattformen?

Di.: När jag noterade, kommer VCL-biblioteket skapat för Windows att fortsätta att utvecklas och förbättras. Men idag, om du vill realisera affärsapplikationer, måste du skapa dem för olika plattformar. För detta ändamål är Firemonkey-plattformen avsedd. Den stöder skapandet av högupplösta användargränssnitt, högpresterande tredimensionell grafik, hög ramskift och, allt, använder en grafikprocessor för detta.

Du kan tillämpa liknande funktioner när du skapar vetenskapliga, tekniska och affärsapplikationer. Sådana applikationer kan anslutas till databaser med DBExpress-teknik, fortfarande använda välbekanta utvecklare till utvecklare, till exempel ClientDataset eller Datasource, tillämpa DataSnap-teknik, ansluta till alla databaser, tvål och vilotaservrar. Du kan skapa attraktiva kontroller, knappar med lådor, ovanliga tabeller och andra gränssnittselement och i två- och tredimensionella versioner. Du kan ladda ner den färdiga tredimensionella modellen till programmet och ansluta den med en tvådimensionell form där den kan roteras och behandlas från olika sidor. Du kan skapa en kub med en data eller ett tredimensionellt företagschema och rotera dem med hjälp av en mus, tangentbord eller till och med kinect-enheter, men du kan komma in i kuben inuti och titta på olika ytor från insidan. Och allt detta kan göras med en grafikprocessor med hög hastighet. Sedan kan samma applikation sammanställas för en annan plattform, till exempel för Mac OS.

En applikation som innehåller en roterande kub med data
placeras på hans ansikten

Och du kan skapa en tredimensionell form från början och använda kameror och ljuskällor och belysa och rotera en del av användargränssnittet. Formsignern som redan är inbyggd i miljön för att stödja det tredimensionella användargränssnittet direkt under utveckling.

I Windows för att arbeta med tvådimensionell högupplösta grafik kan du tillämpa Direct2D-bibliotek och för tredimensionell grafik - Direct3D. Mac OS för samma mål använde kvarts och OpenGL-bibliotek. För IOS, används Quartz och OpenGL ES-bibliotek. Men allt detta är dolt från utvecklaren - det använder Firemonkey-plattformen, dess koordinatsystem och ett programgränssnitt, utan att tänka på dessa bibliotek och kan sammanställa samma applikation för olika plattformar.

Minns vad VCL är. VCl är en komponent omslag runt Windows API. Vi har att göra med resurser, menyer, dialogrutor, färger, stilar, Windows-meddelanden. Firemonkey, till skillnad från VCL, en multiplattform "Wrapper", sparar Firemonkey samma händelse och komponentmodell, så att du kan tänka när det gäller händelser (till exempel onclick händelser, onhasfocus, onmousedown och onkeydown), men bearbetas av Macintosh eller iPhone-evenemang.

Firemonkey-plattformen levereras också med den fullständiga animationen av användargränssnittselementen. Detta är naturligtvis inte ett omfattande PIXAR-animationssystem, men det låter dig använda sådana effekter som animering av rasterbilder, fokusbelysningen vid användargränssnittet och arbetar med vektorgrafik. Utvecklaren är tillgänglig mer än 50 visuella effekter: oskärpa, omvandling av bilden till svart, upplösning, övergångar, reflektion, skapandet av skuggor - alla typer av effekter som är tillgängliga i moderna grafikprocessorer som nu är praktiskt taget i någon dator. En applikation som skapats med Firemonkey-plattformen skickar kommandon till en grafisk processor som utför allt arbete med att visa grafik och skapa ett användargränssnitt. I det här fallet är den centrala processorn fri för beräkningar och appellerar till operativsystemet. Utvecklaren är också bara att placera komponenterna.

Den mest grundläggande Firemonkey-plattformen är ett sätt som det bygger ett användargränssnitt. Det finns möjligheter att placera rastergrafik på gränssnittselement, som menyer, knappar och rullningsremsor. I Firemonkey använder vi vektorgrafik för detta ändamål med hjälp av en grafikprocessor. Från programmeringsposten är dessa alla samma kontroller, men displayens prestanda utförs av grafikprocessorn. Vi kan tillämpa stilar för att styra element, göra en applikation som liknar Mac OS-programmet eller för Windows, skapa din egen stil, tillämpa dina stilar på gränssnittselement (till exempel, gör en knapp rektangulär eller rund genom att ändra sin stil i formredigeraren ) - För detta i utvecklingsmiljön finns det redigeringsstilar. Du kan skapa din egen stil, och du kan ändra stilen på den färdiga applikationen.

Firemonkey Platform - Utvecklingsverktyg
och stödda plattformar

Om du kommer ihåg, hade VCL-biblioteket ett begränsat antal kontroller - behållare (det vill säga att andra element kan placeras i dem), och i Firemonkey är varje kontroll en behållare. Det betyder att varje kontroll kan innehålla någon annan kontroll. Till exempel kan inuti elementen i rullgardinsmenyn, knappar, knappar, redigera fält och andra kontroller. Och du kan också placera komponenter med lager.

Firemonkey Rendering System är ganska flexibelt - det kan använda Direct2D, Direct3D och OpenGL-biblioteken, skicka kommandon till en grafisk processor. För att uppnå samma i VCl var det nödvändigt att generera en separat buffert utanför skärmen, skapa en bild i den, vilket orsakar motsvarande funktioner av grafiska bibliotek och sedan visa den på formen.

Exempel på grafiska effekter som stöds av FIRONKEY

Om du inte har en grafikprocessor - kan du fortfarande använda två eller tredimensionella former och använda Firemonkey-kontroller. I det här fallet kommer Firemonkey-plattformen att använda GDI + -biblioteken eller andra liknande bibliotek och utföra samma effekter och animera eller manipulera tredimensionella föremål.

Ett annat drag i FIRONKEY är ett nytt bindningssystem för gränssnittselement med data, öppna och flexibla. VCL innehåller två typer av gränssnittselement: data ansluten till data och inte kopplade till data (till exempel TDBEDIT och TEDIT). I Firemonkey kan varje kontroll associeras med data, med vilken typ som helst. Det kan bara vara ett uttryck, ett fält från en dataset, data från de objekt som utvecklats av utvecklaren eller resultaten av ett samtal till metoderna.

Dessutom, när du skapar en applikation, kan du ladda ner den färdiga tredimensionella modellen till den och använda den - sådana möjligheter krävs ofta i affärsapplikationer och i applikationer för tekniska beräkningar. Vi har en klient som skapar applikationer för logistik. De hade ett informationssystem som byggdes med Delphi, och i den - en applikation som målade planen och visade information från datakällor. Nyligen gjorde de något intressant - drog ett helt automatiserat tredimensionellt lager i AutoCAD, och deras applikation låter dig se hur den automatiska lastaren flyttar i ett lager och sätter varorna på hyllorna. Och de lägger ut data från källor till motsvarande bild.

Exempel på applikationsstilar

KP: Vilka format av tredimensionella modeller stöds nu?

Di.: I den här utgåvan stöder vi nedladdningen av modeller från AutoCAD, Collada (Open Source tredimensionellt modelleringsverktyg. - Ungefär. Röd.), Maya, OBJ-format, som stöds av många tillverkare av tredimensionell grafik.

KP: Vilka andra format är planerade att lägga till?

Di.: Vi planerar att lägga till 3DS-format (3D Studio Max), SVG (vanligtvis det här formatet används för tvådimensionell vektorgrafik, men ibland för tredimensionell), Google Sketchup. Kanske kommer vi att stödja andra format.

KP: Användning av tredimensionella modeller i applikationer som skapats med Firemonkey, licenser för lämpligt verktyg för tredimensionell modellering?

Di.: Nej, det kräver inte. Allt vi gör är att läsa filen med modellen. Vi importerar en modell, men exporterar inte den (även om du självklart kan skriva en applikation som behåller modellen i ditt eget format). Vi ansöka inte om att vara en tillverkare av tredimensionella modelleringsverktyg - för detta kan du använda AutoCAD, 3D Studio Max, Maya eller något annat tredimensionellt modelleringsverktyg och i våra applikationer för att importera skapade modeller.

KP: Hur produktionsapplikationer skapas med Firemonkey är på moderna hårdvaruplattformar?

Di.: Prestanda är ganska hög. Till exempel kan den tredimensionella formen som återställs med tre sfärer och tre belysningskällor på MacBook Pro lösas med en hastighet av 100 bilder per sekund. Eller kan nå 600 - det beror på vad vi gör. Återigen beror allt på kraften i grafikprocessorn.

KP: Betyder det det med Firemonkey kan du skapa spel som uppfyller moderna krav?

Di.: Vi positionerar inte våra utvecklingsverktyg som ett verktyg för spel. Men med hög prestanda av moderna grafikprocessorer kan du skapa båda spelen med Firemonkey - trots allt skapar de dem med Direct3D eller OpenGL.

KP: Vad har du nu på området för att stödja erkännandet av gester och andra nybildade saker? Är sådant stöd tillgängligt?

Di.: Vi har inget stöd för gester i denna utgåva. Gesthantering kommer att läggas till i en av de framtida Firemonkey-utgåvorna, men för nu kan du använda stödet för gester som är inbyggda i operativsystemet.

Mikhail Filippenko, chef för Fast Reports, Inc.

K.R: Vi har redan sagt att Firemonkey Technology har ryska rötter - dess stiftelser skapades i vårt land, och sedan tekniken själv och dess utvecklare gick med i Embarcadero. I allmänhet är det glädjande att se tillväxten av den ryska komponenten som en del av Rad Studio och Delphi. Detta är verksamheten i vårt utvecklingscenter i St Petersburg, och bidrag från oberoende ryska utvecklare. Till exempel inkluderade Rad Studio XE2 en FastReport-rapportgenerator - känd över hela världen och mycket populär i vårt land. Han kommer från Rostov-on-Don.

KP: Jag skulle vilja prata om kompilatorerna. Vilken typ av kompilator används när du skapar IOS-applikationer?

Di.: För iPhone eller iPad har vi inte din egen Delphi-kompilator - vi har ännu inte utvecklat kompilatorer för armprocessorer som används i dessa enheter. För iOS använder vi tillfälligt kompilatorn och det fria Pascal Execution Time-biblioteket. Men vi arbetar med nästa generation av kompilatorer, inklusive för ARM-processorer. Men för Windows och Mac OS finns det kompilatorer, eftersom båda hårdvaruplattformarna är baserade på Intel-processorer.

KP: Vad gjordes inom området för att skapa kompilatorer under de senaste två åren?

Di.: Vi har 32- och 64-bitars Delphi-kompilatorer för Windows och Mac OS. Och vi arbetar med den nya generationen Delphi och C ++ - kompilatorer. Arbetet med dem fortsätter fortfarande, men när det är klart, kommer vi att ha Delphi-kompilatorer för ARM-processorer, Android-plattformar, Linux och allt. Och vi kommer att ha 64-bitars C ++ - kompilatorer för Windows och andra plattformar som är kompatibla med det senaste Standard C ++ - som bara antagits av ISO.

KP: Vad händer med stöd av "Cloud" -beräkning i utvecklingen av Embarcadero?

Di.: I Rad Studio Xe 2 stöder vi överföringen av applikationer till "moln" Microsoft Azure eller Amazon EC2 med hjälp av plattformsassistentverktyget. Och vi har serverkomponenter för molnlagring för Azure och Amazon S3 för att lagra tabeller, binära data, meddelandeköer. I den tidigare versionen av Rad Studio Xe stödde vi också utplaceringen av applikationer i Amazon EC2, men det fanns inget lagringsstöd i den.

Stöd för "Cloud" beräkningar i Rad Studio Xe 2

KP: För två år sedan pratade du om den nya lösningen all-access. Hur krävde det att det var? Vilka är dess fördelar för systemintegratörer och utvecklare?

Di.: I världen gäller all-access-lösningen och AppWave Cloud Tool mycket allmänt. De är avsedda att förenkla användningen av applikationer från både vårt företag och andra tillverkare. Det är faktiskt en lösning för hantering av licenser och applikationsapplikationer, och det är bekvämt för stora företag. Små företag där det inte finns några speciella grupper av anställda som ansvarar för hanteringen av applikationer kan anta en ansökan i förvaret, välja användarnamn från databasen och säkerställa användning av dessa program utan att behöva komma ihåg var licensnyckeln och hur många licenser som är tillgängliga . All-Access och Browser AppWave är utformade för att hantera både version och åtkomstkontroll.

K.R: Marknaden är så mångsidig, och användarna är så olika att det är omöjligt att täcka alla behov med en lösning. Därför strävar vi efter en mängd olika "förpackning" -lösningar. Vi har gjort mycket arbete för att förena licensmetoder, licenshantering och produktinstallation. Denna lösningslinje omfattar licenshantering och åtkomstkontroller, inte bara för Embarcadero-produkter, men också för andra produkter, inklusive interna företag.

Arbeta med konfigurationen av utvecklingsverktyg till effektiva kit för användare fortsätter fortfarande. Vi har all-access-superset, som kombinerar alla Embarcadero-produkter. Om kunden förvärvar all-access platinum-versionen, tar det emot alla verktyg som i Embarcadero. Men ibland är den här uppsättningen överdriven, till exempel för exempel på databaser, vi gjorde två andra uppsättningar - DB Power Studio Developer Edition och DB Power Studio DBA Edition. Skillnaden mellan dem är att för utvecklaren erbjuder vi Rapidsql - Serverkodsutvecklingsverktyget, och administratören är byggd i DBARTIZAN - databasadministrationsverktyget, en bredare produkt än RapidSQL. För specialister har vi följande all-access-uppsättningar: en uppsättning som innehåller alla produkter, DB Power Studio för utvecklare, DB Power Studio för administratörer, ER Studio Enterprise Edition för arkitekter och alla som är engagerade i modellering. Det finns kombinationer för att utveckla applikationer och för administratörer. Delphi är ett medel för utvecklaren, och det är mycket rimligt att lägga till SQL-utvecklingsverktyg och optimeringsverktyg. Slutligen är DB Change Manager ett helt logiskt verktyg för att hantera komplexiteten hos de förändringar som uppstår med databaser under deras livscykel.

Således är all-access huvudet på en stor familj av olika uppsättningar av produkter.

KP: Om det inte är hemligt, vem i Ryssland tillämpar all-access?

K.R: Vi har kunder som köpte all-access, drev ut från Delphi. Många av dem skapar komplexa klient-server-system med SQL Server och Oracle, och gillade omedelbart vår plattformsverktyg för databaser. Vi har ett kundföretag som arbetar med Delphi, som börjar med den första versionen och för ett år sedan bytte den till användningen av Delphi till ALL-Access-uppsättningen. Två verktyg som garanteras att använda alla utvecklare i detta företag är Delphi och Dbartisan. Och det finns kunder som kom till all-access från databaser. Deras huvuduppgift är att administrera databaser, men ibland är de engagerade i att utveckla applikationer. Bland kunder som använder all-access, medieföretag, ingenjörsföretag och företrädare för andra branscher.

Separat vill jag stanna på små företag. Mycket ofta i små lag gör utvecklaren allt, och ett sådant företag köper ibland stora all-access-produktuppsättningar för en eller två utvecklare. I stora lag är det inte uppmanat att göra utvecklaren att till exempel utföra databasadministratörens roll, därför är små produktsatser vanligtvis populära där, och i småföretag är en sådan kombination av ansvar tillåtet.

Delphi Architect är en aktiv produkt som innehåller metoder för modellering och programmering. Antalet sålda kopior är sant, mindre än den version av Delphi Enterprise, men det är också bra. Jag noterar att vi under 2010 visade sig vara det bästa landet när det gäller försäljning, trots att alla länder har överlevt krisen. Denna tillväxt var inte så mycket med ekonomiska faktorer som med det faktum att versionen av Rad Studio Xe släpptes i slutet av 2009 visade sig vara mycket populär. Och medan vi förväntar oss ytterligare försäljningsutveckling.

Vi gjorde ett annat rimligt steg, extremt populärt i Ryssland. Graden av legalisering av olika versioner av våra produkter är annorlunda: Ju högre versionen desto mer är det legaliserat, för tidigare att programvaran inte är så aktivt köpt. Från RAD Studio XE-versionen gäller licensen till version 2010, 2009, 2007 och även på Delphi 7 - en bred prevalensprodukt.

Idag står utvecklare inför det faktum att de har nya projekt och projekt i stödstaten. Ett stort antal projekt översattes från tidiga versioner av Delphi till version 7 och förblir inom ramen för den här versionen, fortsätter att arbeta med relativt små resurser. Ingen översätter dem till nyare versioner, men de stöds i ett livskraftigt tillstånd. Och nu tillåter vi lite pengar (mindre än licenspriset Delphi 7) få både Rad Studio Xe, och Delphi 7 - det vill säga att vi kommer att legalisera utvecklaren och att genomföra nya projekt och för supportprojekt.

KP: Hur utvärderar du det nuvarande tillståndet för embarcadero-community?

Di.: Denna gemenskap är stor och mycket krävande. De behöver allt och omedelbart - de är samma utvecklare. Men ibland att göra något rätt, behöver du mycket tid.

För några år sedan tog vi komponentarkitekturen i Windows och satte den i Linux-stationära datorer. Nu ser vi att det inte var det rätta beslutet. Den rätta lösningen är att skapa en plattform för applikationer. Applikationer även för olika plattformar har menyer, fönster, grafik, nätverksåtkomst och åtkomst till enheter. I olika plattformar kan det finnas olika modeller av flödesstyrning eller undantagshantering, men i applikationskoden ser vi samma TY-block. Vårt arbete är att förenkla utvecklare som skapar affärsapplikationer och sammanställa dem för de plattformar som de ska användas, oavsett hur systemet med de respektive processorerna och vilka andra egenskaper hos dessa plattformar är ordnade. Och Firemonkey är exakt vad som behövs för att lösa detta problem.

KP: Om företaget skapar en ny enhet och vill ha sitt stöd i Firemonkey, kommer det att vara möjligt?

Di.: Med kompilatorerna av en ny generation, som kommer att vara oberoende av den främre plattformen och den bakre plattformsberoende, blir det ganska möjligt. Under tiden, för varje operativsystem, skapar vi en kompilator och exekveringstidsbiblioteket från början.

Alla moderna nya enheter har som regel ett grafiskt användargränssnitt (många av dem har en dual-core-processor och en grafikprocessor) och standard SDK för utvecklare. Allt detta förenklar skapandet av ett enhetsstöd i Firemonkey. Om en ny enhet endast kommer att ha bibliotek för kvarts tvådimensionell grafik, kommer vi att kunna stödja Firemonkey och en sådan enhet, men det kommer att kräva ungefär flera månader. Ändå beror mycket på plattformen: inte alla plattformar stöder alla funktioner, till exempel IOS-menyn och dialogrutor och du kommer inte att kunna placera motsvarande komponenter på formerna av sådana applikationer.

KP: Var något i politiken arbeta med partners? Vad görs för att andelen av användare av dina produkter ökade? Vad utförs i Ryssland?

Di.: Vårt partner Ecosystem Wide - finns hundratals tillverkare av instrument och komponenter som inte finns i våra produkter, och vi har ett tekniskt partnerskapsprogram. Därför har utvecklare ett brett utbud av komponenter, teknik och verktyg. Och lösningar som de skapar för sina kunder visar sig vara bättre än om endast våra produkter användes. Och för försäljning har vi kontor i många länder, återförsäljare och distributörer.

K.R: Det är inte viktigt för oss antalet partner, men kvaliteten på varje enskild partner. Nu vill vi fokusera på nära samarbete med befintliga partners, även om partners pool är öppen. Vi har många partners, och vi måste hjälpa dem när det gäller teknik. Vi arbetar med utvecklare, och de vet vad de vill ha, och vet vad som finns på marknaden, och partners möjligheter bör följa detta.

Vi har affärspartners som seriöst investerat i Embarcadero som i riktning mot verksamheten - de har utbildade specialister, marknadsföring av våra produkter, dedikerad personal som ansvarar för denna riktning och spårning, som händer med våra produkter, prislista, marknadsföring. Naturligtvis är de mer framgångsrika när det gäller försäljning av våra produkter än företag som genomför våra produkter från ärendet.

KP: David, Kirill, tack så mycket för en intressant intervju. Tillåt, på uppdrag av vår publikation och våra läsare, önskar ditt företag ytterligare framgång för att skapa dina fantastiska verktyg, så passande utvecklare!

Frågor frågade Natalia Elmanov

Trippleeffect. En klass för att skapa en effekt som ställer ripplar av vågor på texturen av visuella föremål.

Ryaby Center är angivet i fastigheten Centrum. Andra aspekter av Rowani kan konfigureras med egenskaper. Amplitud (Amplitud), Bildförhållande., I. Fas (Fas). Antalet vågor Rowani bestäms av fastigheten Frekvens (Frekvens).

Följande tabell visar resultaten av inflytande. Trippleeffect. På PNG-bilden placerad på formuläret (med objektet). Ryabys centrum ligger mitt i bilden. Andra egenskaper Trippleeffect. Används med sina standardvärden ( Amplitud = 0,1, Bildförhållande. = 1,5, Framkant = 70, Fas = 0).

I den här lektionen använder du flera grundläggande effekter av bilder i Firemonkey-programmet.

Steg 1: Applicera effekten på bilden.

I Firemonkey är tillämpningen av bildseffekten till bilden en enkel process. Skapa bara en komponent som kan innehålla en bild och applicera sedan en av effekterna av bilden.

    Skapa en ny Firemonkey-applikation ( Arkiv\u003e Ny\u003e Firemonkey Desktop Application\u003e HD Firemonkey Application).

    Placera komponenten på formuläret.

Markera komponenten på verktygsfältet.

Placera timaget på formuläret i designern.

    Du kan se att komponenten inte passar in i formuläret Designer Center. Såsom visas i figuren är det nödvändigt att bildens storlek är så mycket som möjligt. För att göra detta, välj komponenten på konstruktörens form och ändra sedan egenskaper Justera. i alclient. I objektinspektör blir komponentstorleken densamma som formens storlekstorlek.

    Välj den bild som du vill tillämpa effekten. Komponenten lagrar bilden i Schyostv Bitmapp.. Välj egendom Bitmapp. i objektinspektören och använda Redigera ... För att välja en bild.

  1. Nu kan du välja effekten för bilden. På verktygspaletten, välj Trippleeffect..

Nu Kedjereaktion. Visas i fönstret Strukturera..

För att tillämpa effekten måste den definieras som ett dotterbolag för en annan komponent. I detta fall, Rippleeffect1. måste definieras som ett dotterbolag Bild1. Att göra det här, dra Rippleeffect1. och lägg den på Bild1 På strukturpanelen.

  1. Nu kan du se det Kedjereaktion. Redan körs på formulärdesignern.

  1. Byta egendom Frekvens20 .

Steg 2: Applicera animeringseffekten till Rippleeffect-effekten.

    Markera Kedjereaktion. På panelen Strukturera..

    Välj egendom Fas I objektinspektören och kör kommandot Skapa ny tfloatanimation Från rullgardinsmenyn.

Se till att FloatAnimation1 definieras som ett barnelement Rippleeffect1..

    Ändra egenskaper FloatAnimation1 Enligt nedanstående:

Tja, tillfoga slutligen ett evenemangsförfarande Onmousemove. till.

Dela med sig