Ich würde die dynamsich erzeugten Labels in einem Array verwalten. das Auslagern der dyn. Erzeugung in eigene Funktion ist sehr unubersichtlich, auch die mehrfache Anlage verschiedener Variablen mit dem selben Namen und die Verwendung von gloablen Zählvariablen wirkt etwas verwirrend.
Delphi-Quellcode:
procedure TMainFrm.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
//var MyLabel: TMyLabel; //Überflüssig
begin
if ListBox1.ItemIndex >= 1 then
begin
CreateModel(MainFrm,MouseX,MouseY,
ListBox1.Items.Strings[ListBox1.ItemIndex]);
MainFrm.Update();
end;
end;