Einzelnen Beitrag anzeigen

oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#5

Re: CreateWnd ComboboxItems hinzufügen

  Alt 20. Apr 2009, 10:10
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
42
  Mit Zitat antworten Zitat