Další díl mého občastníku přináší střípky ohledně UniGUI, ASP.NET, něco z praxe, nějaký balík komponent a (snad) zajímavý článek k Win 8.
Tak nejdříve k Windows 8. MS je tak zoufalý ohledně platformy Windows 8 (nemyslí se tím Win 32, ale "Metro"), že začal nabízet $100 za to, když publikujete program (tedy pokud jste z USA). microsoft-offers-developers-cash-to-write-windows-8-apps-7000012851. To podle mého platformě nepomůže (jen se tam objeví více blbostí), navíc to prozradilo v jaké situaci MS je. Někde jsem četl, že celkový počet zařízení s "Metro" je ekvivalentem toho co se prodá s iOS nebo Androidem týdně. Takže tak. Je to o to smutnější, že se mi jak Metro, tak MS Surface líbí.
Náhodou jsem narazil na Cindy Components a i když jsem je nezkoušel, tak některé vypadají zajímavě (jako TcyRunTimeResize, TcyWebBrowser, nebo TcyBitBtn).
Pokud sledujete UniGUI, tak tam na fóru autor oznámil, že se dostává do fáze, kdy přestane distribuovat free beta verze a začne je prodávat (a to i se zdrojovými kódy).
S tím volně souvisí i to, že na webu IntraWebu se objevilo oznámení IntraWeb ASPX comming, bohužel ten jejich publikační systém blogu je psán celkem zoufale, takže se to už nedá přečíst, jelikož druhý článek ze stejného dne to asi blokuje. Každopádně co si pamatuji, tak se jedná o jednu .NET assembly (možná mixed), která se nahraje do ASP.NET adresáře a která podle webconfig umí přesměrovávat požadavky přímo do delphi webové aplikace přeložené jako DLL. Toto by byla velká výhoda, hlavně vzhledem k hostingům. Doufám, že to bude fungovat i s UniGUI protože s IntraWebem nechci nic mít.
Narazil jsem na problém při kompilaci programu, kdy kompilátor nevaruje při použití neinicializované návratové proměnné typu string. viz. celkem obšírný thread na fóru, ale ve zkratce:
program Project3;
{$APPTYPE CONSOLE}
function TestA:string;
begin
Result := 'A';
end;
function TestB:string;
begin
// simplified
Result := Result + ';B';
end;
procedure Test;
var
s: string;
begin
s := TestA;
s := testB;
writeln(s);
end;
begin
Test;
end.
Vypíše A;B. Je to protože návratová hodnota je předávána ve skutečnosti jako var parametr a kompilátor se nenamáhá vypustit aspoň warning.