• Nieuwe artikelen

  • Nieuwe blogs

  • jkuiper

    by Published on 07-Jan-15 18:59
    Article Preview

    Op verschillende seminars zie ik leuke dingen van Smart Mobile uitkomen. Inmiddels is versie 2.1 gereleased en verwacht je een leuk product. Gisteren een demo-key aangevraagd voor professional. De enterprise heb ik niet nodig, omdat ik geen datasnap heb en daarvan de prijs nog veel te hoog vind voor een hobby gebruiker.
    Mijn doel is uiteindelijk een webpagina te maken, die gegevens uit een database haalt (via REST) en deze presenteert op het scherm. Uiteindelijk zal het een webpagina zijn, waarvan ik een naam kan selecteren en een frame kan tonen in de browser. Zo kan elke gebruiker zelf een keuze maken wat hij/zij wilt zien (www.caviawatch.nl). Maar eerst een product leren gebruiken. Anders kom je niet ver.
    Welk ontwikkeldialect gebruikt Smart Mobile? PASCAL! Dat is mooi. Ik werk al jaren met Delphi / Lazarus en kan dus wel wat programmeren om een redelijk programma te kunnen tonen. De installatie is simpel. Downloaden van de website, installeren en de demo-key invoeren. Deze key is 35 dagen geldig. Als je niets te doen hebt, heb je zat tijd om alles uit te vogelen. Programma opgestart en het eerste wat je ziet is de IDE. Deze is een beetje opgebouwd op basis van D7, maar ondanks alles neergezet als een single doc, waardoor het een look'n'feel krijgt van D2005+.

    Als eerste ga je kijken naar de demo's. Dat zijn er best wel veel, maar 95% is gerelateerd op client niveau. Ik wil juist op client/server werken, zodat ik resultaat van tabel vanuit mijn databaseserver krijgt in mijn browser. Daar zijn geen demo's van. Een enkele, die een tabel vult vanuit een button, maar ik kan niet zien waar die gegevens staan. Ik zie in de debuggerscherm dat er wel records worden aangemaakt, maar waar geplaatst worden en ik geen idee van.
    Maar het best leren doe je door eigen programma's te maken met behulp van de documentatie.
    Een nieuw visual project opgestart. De IDE komt met een leegscherm wat tevens je formulier is. Geen border, want het is geen echt venster, maar een pagina in je browser. Een beetje gekeken naar welke componenten aanwezig zijn en viel mij een beetje tegen. De standaard (common) componenten zijn een beetje hetzelfde als in Delphi/Lazarus. Ik begrijp alleen niet waarom er een aparte tabblad is voor mobile componenten. De datatab valt een beetje tegen. Daar staat alleen een grid en een chart in. Eigenlijk had ik ook componenten verwacht, zoals TDatabase en TDataset en DBComponenten, die visueel een SQLite database direct kan benaderen. Is een visual IDE niet gemaakt, om de ontwikkelaar het laten vereenvoudigen om met simpele handelingen uit te kunnen voeren. Ik weet dat je een database als MySQL/MariaDB, SQLServer, Firebird/Interbase of Oracle zomaar kan benaderen, omdat deze achter een firewall zitten, maar SQLite is eigenlijk een local database. Maar wie weet.

    Mijn eerste doelstelling: het tonen van een grid met data erin. Component W3Grid gepakt en deze op het formulier geplaatst. Dan zal je verwachten dat je, net zoals een TStringgrid, al een basis grid hebt. Maar het component is leeg. Sterker nog; je MOET zelf de bronbestand van de grid in de uses plaatsen. Vervolgens moet je het zelf declareren in de {private} sector van je formulier. Waarom doet de IDE dat niet voor je! Je moet de Grid zelf in runtime aanmaken. Ziet er dan zo uit:
    Delphi Code:
    1. procedure TForm1.InitializeForm;
    2. begin
    3.   inherited;
    4.   // this is a good place to initialize components
    5.   MyGrid := TW3Grid.Create(Self);
    6.   MyGrid.Visible := True;
    7.   Mygrid.Top := 20;
    8.   Mygrid.Left := 20;
    9.   MyGrid.HeaderHeight := 26;
    10.   MyGrid.RowHeight := 24;
    11. end;
    Dan heb je een Grid gedefineerd zonder kolommen. Deze moet je ook zelf aanmaken. ...