Um eines mal klarzu stellen: Wirklich eine tolle Leitung von Harry!
Ich versuche das seit es FMX gibt. Ich habe auch ständig den Bedarf nach Workarounds gehabt. Bin aber irgendwann an eine Stelle gekommen, wo ich im Grunde große Teile des FMX Sources hätte kopieren und überarbeiten müssen da eine halbwegs saubere Objektorientierte Beeinflussung von Fehlverhalten nicht mehr möglich war.
Mal ein Beispiel um einen von EMB hardcodierten Text zu übersetzen:
Delphi-Quellcode:
procedure TfrmTarget.TransLateListViewButton(const AItem: TListViewItem);
var
LComponent : integer;
AComponent : TComponent;
ALayout : TLayout;
LButton : integer;
AButton : TComponent;
begin
// Suche des echten Buttons
// ListItem->ListView->TLayout->TSpeedButton->StyleLookup = 'listitemdeletebutton'
for LComponent := 0 to AItem.Parent.ComponentCount-1 do
begin
AComponent := AItem.Parent.Components[LComponent];
if AComponent is TLayout then
begin
ALayout := TLayout(AComponent);
for LButton := 0 to ALayout.ComponentCount-1 do
begin
AButton := ALayout.Components[LButton];
if AButton is TSpeedButton then
begin
// Eigene Übersetzungsfunktion, da TLang nicht den richtigen Sprachcode holt
TSpeedButton(AButton).Text := _T('Löschen');
end;
end;
end;
end;
end;
Das Verhältnis zwischen Nutzlast und solchem Korrekturcode bzw. auch Platform-Spezifischem Code beträgt nach meinen Erfahrungen ca. 3:1.
Ich benutze für
Win32 Desktop weiterhin
VCL. Umstellung auf FMX bringt mir nur Einschränkungen. Der Vorteil ist natürlich die gleiche Codebase (haha) für eine Mac-Anwendung nutzen zu können.
FMX wird hier nur für iOS und Android apps verwendet. Und das auch nur für relativ unwichtige und kleine Teilgebiete, die man zur Not in ein paar Tagen nach ObjC oder Java umgestrickt bekommt. Denn ich weiß ja nie, ob nicht plötzlich wieder etwas aus FMX herausfällt oder grundlegend geändert wird weil auc EMB erkennt dass man mit der Lösung in einer Sackgasse steckt (so geschehen bei der Umstellung von FPC auf LMAA).
Ich lasse mich aber gerne eines Besseren belehren. Deshalb bin ich gespannt auf die fertige Mac-App von Harrys Rechnungsprogramm - und vor allem den Erfahrungsbericht dazu.