Moin,
mit CreateWnd ist das
Handle da. Dein Problem liegt an einer anderen Stelle, nämlich hier:
{result.Items.Add('5 '+ sErweiterung); // hier tritt ein unbekannter Fehler auf!! unklar, woher.
Deine Funktion gibt ein Ergebnis vom Typ TCombobox zurück. Die Annahme, dass Result = FComboBoxStepWidth erscheint mir doch etwas sonderbar.
Dann mach es lieber so:
Delphi-Quellcode:
procedure TContainer.SetItemsComboBox(ABox : TCombobox);
var sErweiterung: string;
Index: integer;
begin
//result.Clear;
Index := GetIndex;
if Index in [1,2] then sErweiterung := 'µm'
else sErweiterung := 'nm';
ABox.Items.Add('5 '+ sErweiterung); // hier tritt ein unbekannter Fehler auf!! unklar, woher.
ABox.Items.Add('20 ' + serweiterung);
ABox.Items.Add('100 ' + sErweiterung);
ABox.Items.Add('500 ' + sErweiterung);
ABox.Items.Add('1000 ' + sErweiterung);
ABox.Items.Add('5000 ' + sErweiterung);
ABox.ItemIndex := ftTischInfo[GetIndex].iSchrittweitenIndex;
end;
procedure TContainer.CreateWnd;
begin
inherited createWnd;
FCombBoxTischauswahl := CreateComboBox(17,35, 200);
FCombBoxTischauswahl.Items.Add('Verschiebetisch Kamera/ Spleißgerät');
FCombBoxTischauswahl.Items.Add('Verschiebetisch Referenzfaser');
FCombBoxTischauswahl.Items.Add('Piezoverschiebetisch');
FCombBoxTischauswahl.ItemIndex := 0;
FCombBoxTischauswahl.OnChange := Tischaenderung;
FComboBoxStepWidth := CreateComboBox(130,375,70);
SetItemsComboBox(FComboBoxStepWidth);
end;
Gruß oki