Wenn der Button zur Laufzeit erzeugt wurde, muss er ebenfalls 'manuell' gelöscht werden. Das darf aber keinesfalls innerhalb seiner eigenen OnClick-Routine (PanelFree?)
genau das habe ich versucht...
Zitat:
1. Wo ist Add_PlaylistPanel deklariert? innerhalb von TForm1, von TForm2 oder global? Sinnvollerweise gehört es in das Formular, in dem die Panels erzeugt werden. Nur wenn Du dies in mehreren Formularen erledigst, ist eine globale Deklaration (unter
Win32 - nicht unter NET) sinnvoll.
nirgenwo nur als funktion erstmal ich möchte wenn alle so läuft wie ich es mir vorstelle, in einer extra
unit verpacken
Zitat:
2. Was hat 'Form1.Show' in dieser Prozedur zu suchen? Wenn es darum geht, dass das Panel angezeigt wird, dann benutze am Ende dieser Routine:
das steht da nur als test drin, da ich es noch nicht richtig gemacht habe... später wird das alles entwas anders aussehen.
ScrollBox.Refresh; warum ? es klappt doch auch so.... naja ich werds mal einbauen, danke für den tipp
Zitat:
3. Die Variable 'str' beim Erstellen des Panels ist überflüssig; eine Konvertierung StrToInt/IntToStr kann eingespart werden:
Delphi-Quellcode: markieren
Panel.tag := form1.JvPageControl1.PageCount * 10 + ScrollBox.ControlCount-1;
panel.name := 'Panel' + IntTostr(Panel.tag);
leider nicht, ich habe mir dabei was gedacht und zwar:
ich erzeuge zurlaufzeit ein TMainmenu item bzw mehrer, und eine TabSheet... und beide müssen irgenwie gefunden werden.. jetzt speichere ich diesen wert als tag und ordne ihn beiden zu(also den MenuItem und dem Panel) der tab besteht aus zwei zaheln.
1.die anzahl der Pagaseiten
2. Die Anzahl der panels
so bekommen ich ein eindeutigen namen hin
ich hoffe du kannst mit diese beschreibung was anfangen... kann ich den qullcode auch hochladen, wenn du möchtes !
ich werde das gleich mal versuchen einzubauen.... nach deiner beschreibung.
vielen dank für diese ausführliche antwort