Hallo Mütze1,
nochmal danke für deine Bemühungen, aber ich werde den Gedanken nicht los, das ich doch irgendwie einen Bug in meinem Programm habe, der auf Delphi oder Windows beruht. Habe jetzt den dritten Lösungsansatz benutz, aber es ist immernoch möglich den Fehler zu generieren.
Delphi-Quellcode:
Function TForm1.GiveMeSelectedOne: Integer;
Var
i : Integer;
Begin
If (ListBox1.SelCount < 1) Then
Result := -1
Else
For i := 0 To Pred(ListBox1.Items.Count) Do
If (ListBox1.Selected[i]) Then
Begin
Result := i;
Break;
End;
End;
procedure TForm1.PB_Move_title_to_topClick(Sender: TObject);
var y: integer;
begin
if (Listbox1.SelCount = 1) and (Listbox1.ItemIndex >= 0) then begin
try
listbox1.Items.Move(Givemeselectedone,wishes);
Wishes := Wishes + 1;// inc(wishes);
LEDDisplay_wishes.Value := wishes;
except
Showmessage('error');
end;
end;
end;
(*****************)
Warum auch immer, kommt manchmal die
Exception und trotzdem hat die Listbox dann einen Fehler.
Eigenartigerweise hat´s auch hier wieder eine Weile funktioniert und dann auf einmal wieder nicht.
Ich verstehs einfach nicht. Benutze ich statt der Variable Wishes einfach nur die 0 klappt´s. Benutze ich ne Variable, welche immer mindestens 0 oder größer ist, kracht´s ab und zu.
Habe mich langsam damit abgefunden. Vielleicht sollte ich umsatteln auf eine andere Komponente. Anstatt einer Listbox lieber eine Listview??!?!!
Ein Programmierer bei uns in der Firma sagte mir, es wäre denkbar, dass die Listbox wirklich von Windowsseiten Fehlerbehaftet ist. Sie ist ja nun auch schon lange im Geschäft - seit Win 3.11 ?!
Padavan