Konwertuję duży projekt na Firemonkey i mamy kilka niestandardowych przycisków, które nie są wyświetlane w formularzu. Wyodrębniłem ten problem do bardzo prostego projektu:Przycisk niestandardowy odziedziczony po TButton nie pokazuje
Z poniższym kodem, zarówno na telefonie komórkowym, jak i na komputerze stacjonarnym (przy użyciu domyślnych nowych aplikacji w Delphi XE6), tworzenie tTestButton1 działa dobrze, ale tTestButton2 nie jest wyświetlany w formularzu. Jak to możliwe?
type
tTestButton1 = class(TButton);
tTestButton2 = class(tTestButton1);
tMainForm = class(TForm)
private
fTestButton: TButton;
public
constructor Create(aOwner: TComponent); override;
end;
constructor tMainForm .Create(aOwner: TComponent);
begin
inherited;
// fTestButton := tTestButton1.Create(Self); // this works fine (used instead of next line)
fTestButton := tTestButton2.Create(Self); //this button does not show up
fTestButton.Text := 'Test';
fTestButton.Parent := Self;
fTestButton.Visible := True;
fTestButton.Position.X := 20;
fTestButton.Position.Y := 20;
end;
+1 doskonałe pytanie, cudowny kod repro, jeśli tylko oni wszyscy byli tak dobrzy –
Może odtworzyć to samo w Delphi XE3. – TLama
I XE7. Wygląda jak błąd FMX, ciężko, ale może się wydawać, że tak może być ...... –