Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#3

AW: TObjectList sehr anfällig?

  Alt 26. Aug 2012, 10:17
Zitat:
Aus deinem Code entnehme ich, dass du da die Buttons entfernst und erst dann die Liste bereinigst.
Das sehe ich nicht so zumindest nicht beim ersten start und da kracht es ja schon.
Denn..
NewNumButtons := ButtonWidth * ButtonHeight; "ButtonWidth * ButtonHeight" = 1 * 1

Da NewNumButtons in dem Fall 1 ist, also nicht weniger wie FColButtons.Count wird hier auch nichts gelöscht.

Nachher mag das zutreffend sein dafür muss ich einfach nur die beiden abfragen vertauschen.
Obwohl Ctrl.RemoveButton(Btn) nichts mit RemoveButton(Btn) zu tun hat.

Zitat:
der für den Eintrag und das Entfernen der Buttons.
Das dürften die fehlenden Funktionen sein.


Delphi-Quellcode:
function TClsProgBar.AddButton(var oButton: TClsButtonInfo): Bool;
begin
  if ButtonExists(oButton.Num) then
    RemoveButton(oButton.Num);

  FColButtons.Add(oButton);
  FColButtons.Insert(oButton.Num, oButton);

  Result := True;

end;
Delphi-Quellcode:
function TClsProgBar.ButtonExists(Btn: Integer): Bool;
begin
  FOButton := Button(Btn);
  Result := Assigned(FOButton);

end;
Beim ersten start kracht es schon (also EListError)
Notfalls kann ich den Source mal hochladen.

gruss

Geändert von EWeiss (26. Aug 2012 um 10:48 Uhr)
  Mit Zitat antworten Zitat