J'essaie de copier ou d''échanger' deux formulaires référencés par une TListBox.Delphi: Comment copier des formulaires
Voici ce que je suis en train de faire, mais je reçois une erreur (ci-dessous):
cf1 := TCustomform(lstPackages.Items.Objects[origNdx]);
cf2 := TCustomform(lstPackages.Items.Objects[origNdx - 1]);
cfTmp.Assign(cf1); //error here: cannot assign TfPackage to a TfPackage
cf1.Assign(cf2);
cf2.Assign(cfTmp);
lstPackages.Items.Exchange(origNdx, origNdx - 1);
lstPackages.ItemIndex := origNdx - 1;
Donc, je suis en train d'échanger des éléments de la liste, et je dois faire quelque chose de similaire avec les formulaires, mais j'obtiens l'erreur que je ne peux pas attribuer le type de formulaire que j'utilise. TfPackage est un descendant de TCustomForm.
Comment puis-je accomplir la même chose?
Je comprends cela. Mais ces formes sont également à l'intérieur d'un TFormContainer (de Billenium Effects), et j'ai aussi besoin d'échanger leur position dans sa liste interne. – croceldon
@croceldon: OK. Voir ma modification. –
La seule liste interne que TFormContainer semble avoir est la liste "LRU". Cela n'a aucun sens d'éditer manuellement l'ordre de cette liste; Il est déterminé automatiquement en fonction du moment où chaque formulaire a été utilisé pour la dernière fois. Réorganiser votre zone de liste ne doit pas et ne doit pas modifier l'historique d'utilisation des formulaires. Il semble que vous utilisiez la liste de TFormContainer pour quelque chose pour lequel il n'est pas conçu. –