Náhodné výkřiky 18

vložil Radek Červinka 20. prosince 2011 23:45

Dnes to bude o různých komponentách, FireMonkey, hrách, překvapení od Allena Bauera a TForm.

Allen Bauer (aka ten kdo vládne vývoji Delphi) jen tak mimochodem utrousil něco v tomto smyslu:

Oh, and strings may become immutable and 0-based ;-)…

a následně

One and only one string type… The others are likely to be taken out
back and "eliminated."

Myslel tím unicode string. No já nevím - třeba si jen dělal srandu. Moc si to nedokáži představit (jako změnu stávajícího kódu).

zdroj

multitrackstudio

Chcete příklad reálné multiplatformní FireMonkey aplikace? MultitrackStudio je od verze 7 podle slov svého autora přepsaná do FireMonkey a dostupná pod Win32, Win64 a Mac OSX.

Update: tak podle všeho je zatím FMX jen pro OSX

multitrackstudio

TForm.CreateNew

Nedávno jsem potřeboval udělat jednoduchý formulář v runtime kódu. Něco jako:


  TProgressForm = class(TForm)
  private
    Pnl: TPanel;
  public
    procedure gInit;
    procedure gUpdate(const s:string);
  end;

{ TProgresssForm }

procedure TProgressForm.gInit;
begin
  Pnl:= TPanel.Create(Self);
  Pnl.Parent := Self;
  Pnl.Align := alClient;
  Pnl.Caption := '';
  Position := poMainFormCenter;
end;

procedure TProgressForm.gUpdate(const s: string);
begin
  Pnl.Caption := s;
  Pnl.Repaint;
end;

a volání:

  oProgressForm := TProgressForm.CreateNew(nil);
  try
    oProgressForm.gInit;
    oProgressForm.BorderStyle := bsNone;
    oProgressForm.Show;
    LoadData(oProgressForm.gUpdate);
  finally
    oProgressForm.Free;
  end;

Klíčové je oProgressForm := TProgressForm.CreateNew(nil);.

Protože pokud by byl klasicky použit TProgressForm.Create, VCL by při vytváření vyhodil chybu že nemůže najít resource pro TProgressForm. Použitím CreateNew to obejdete.

Pár komponent …

Aktualizované JCL a JVCL Binary instalace pro XE2 cc.embarcadero.com/Item/28636 a cc.embarcadero.com/Item/28637. Vhodné pro Starter Edition.

ksTools - malá knihovna, kromě jiného s base-2 fast Fourier Transform, record s multiple-precision integer aritmetikou a lepší timer

Když už jsem tu dnes ukazoval takový multimediální program, tak ještě New Audio Components for Delphi - přehrává audio v různých formátech (wav, Ogg Vorbis, FLAC, Monkey Audio, WavPack, MP3, Windows WMA, DTS, AC-3, AAC, AAC+)

A nakonec 2x javascript engine v Delphi: BESEN - ECMAScript v Object Pascalu (pozor na licenci) nebo Javascript engine pro Delphi na bázi spidermonkey (Delphi 2010 - protože RTTI).

… a odkazů

Hello World pro WinRT v Delphi, tj. pro Windows 8.

Asphyre Sphinx 2 - framework pro vývoj 2D/3D video her. Platformy: 32-bit Windows, 64-bit Windows, Mac OS a iOS za pomocí DirectX 7, DirectX 9, DirectX 9 Ex (Vista), DirectX 10, DirectX 10.1, DirectX 11 a/nebo OpenGL.

Fixing TCriticalSection - velmi zajímavý krátký text, o tom, jaký vliv má velikost instance TCriticalSection na výkon na vícejádrových procesorech a jak to řešit. Ve zkratce: díky malé velikosti se může stát, že několik instancí se dostane do stejné CPU cache line a tím vznikne problém s konflikty cache. A přitom stačí zvětšit velikost instance nad 96 byte a tím se zamezí aby se několik instancí vešlo naráz do cache a je pro problému. Stejným problémem trpěl TMonitor, ale to je v XE2 upraveno (zjišťuje se tam velikost CacheLine). No nikdy by mne to nenepadlo.

Tagy: , , ,

Komponenty

Komentáře

21.12.2011 10:38:41 #

Radim

Allen Bauer má pravdu. Nech je len jeden string.

Radim

21.12.2011 10:46:24 #

Radekc

Já jsem to myslel ohledně toho indexování od 0 (tj. 0-based)

Radekc

21.12.2011 11:29:53 #

PS

multitrackstudio: stiahol som Win 64bit., nainštaloval, preklikal a FMX nikde nenašiel :) ... alebo, žeby FM tak pokročil už?

PS

21.12.2011 11:51:26 #

Radekc

Pavol: já jsem stáhl OS X verzi, a díval jsem se do binárky a našel spoustu výskytů řetězce FMX. tak jsem myslel, že i Win verze jsou FMX, zvláště když autor napsal, že aktualizoval i Win verze.

Vycházel jsem i z konference, kde a) je velmi aktivním ohledně FMX, b) děkoval za FMX a 64bit po uvolnění MAC OSX verze.

Radekc

21.12.2011 11:59:14 #

Radekc

Už jsem to našel:

Giel Bremmers :

Kudos to the Delphi team for giving us 64 bit and OS X Delphi!
We released a 64 bit version over a month ago, and that went really well. The Mac version was released today, we hope that goes equally well.

ale asi fakt je zatím Win verze VCL.

Radekc

Komentování ukončeno

Naše nabídka

MVP
Ing. Radek Červinka - Embarcadero MVP
profil na linkedin, Twitter:@delphicz

Nabízím placené poradenství a konzultace v oblasti programování a vývoje SW.
Dále nabízíme i vývoj speciálního software na zakázku.

Neváhejte nás kontaktovat (i ohledně reklamy).

love Delphi

O Delphi.cz

Delphi je moderní RAD nástroj podporující tvorbu nativních aplikací pro platformu Win32, Win64, Mac OSX, Linux a na iPhone a Android.

Delphi.cz je nezávislý portál pro uživatele Delphi. Portál není koncipován pro úplné začátečníky, i když i ti se zde nebudou nudit, ale spíše na programátory, kteří již něco znají a chtějí své znalosti dále rozvíjet a sledovat novinky.

Poslední komentáře

Comment RSS

Dle měsíců