Der kleine Unterschied liegt genau hier:
Delphi-Quellcode:
function TContainer.CreateLabel(PosX, PosY, Textgroesse: integer; Text: string): TLabel;
begin
result := TLabel.Create(Self); // <- da wird Result die neue Komponente zugewiesen
....
in deinem Code aus Post 1 aber nicht. Das Create wird in deiner vererbten Methode CreateWnd vorgenommen. Wenn du das natürlich in deine ausgelagerte Methode verschiebst funzt der Code wie deine Beispiele.
Hier der Unterschied:
Delphi-Quellcode:
procedure TContainer.CreateWnd;
begin
....
FComboBoxStepWidth := CreateComboBox(130,375,70); // ich denke mal, da creierst du deine Combobox in einer Funktion mit dem Ergebnis der Instanz
FComboBoxStepWidth := SetItemsComboBox;
end;
function TContainer.SetItemsComboBox: TCombobox;
var sErweiterung: string;
Index: integer;
begin
...
// und hier versuchst du zu Result ein Item zu adden, ohne dass result eine Instanz enthält
result.Items.Add('5 '+ sErweiterung); // hier tritt ein unbekannter Fehler auf!! unklar, woher.
...
gruß oki