![]() |
FMX - DX10: CheckItemRangeInline Error
Wenn ich einer Listbox einige String-Items zuweisen will, kracht es hin und wieder mal:
Delphi-Quellcode:
Und zwar wird der Fehler in
if Timo.slFaellig.count > 0 then begin
lbFaellig.Items.Assign(Timo.slFaellig); --> Hier kommt der Fehler Timo.slfaellig.clear; end;
Delphi-Quellcode:
ausgelöst (Access Violation, In unit System.Generics.Collections).
procedure TListHelper.CheckItemRange(AIndex: Integer);
begin CheckItemRangeInline(AIndex); end; Die Aktion findet in einem Timer-Event statt, in dem in der Listbox die fälligen Termine aktualisiert werden sollen. Hat jemand hier schon mal entsprechende Probleme gehabt? Ist das ein Bug? |
AW: FMX - DX10: CheckItemRangeInline Error
Ein Stacktrace wäre geil, denn wer CheckItemRange aufruft, wäre eine wichtige informative Information.
Bei mir fand ich nur
Delphi-Quellcode:
und demnach würde dein Programm versuchen auf ein Item zuzugreifen, welches nicht existiert.
function TList<T>.GetItem(Index: Integer): T;
begin FListHelper.CheckItemRange(Index); Result := FItems[Index]; end; |
AW: FMX - DX10: CheckItemRangeInline Error
Zitat:
Delphi-Quellcode:
statt. Ich vermute also, der Aufruf geht über
TStrings.Assign
Delphi-Quellcode:
->
TStrings.AddStrings
Delphi-Quellcode:
->
TCustomListBox.TListBoxStrings.Get
Delphi-Quellcode:
->
TCustomListBox.GetListItem
Delphi-Quellcode:
->
TCustomListBox.ItemByIndex
Delphi-Quellcode:
, wobei
TControlList.GetItem
Delphi-Quellcode:
der erste Zugriff auf eine generische Liste ist.
TControlList = TList<TControl>
Näheres kann man ohne mehr Code aber schlecht sagen. |
AW: FMX - DX10: CheckItemRangeInline Error
Die Listbox ist mit Ihren ListboxItems recht empfindlich.
Wahrscheinlich war das Problem, das die Timer-Arbeiten noch eine Phase fiel, wo die Form noch nicht angezeigt wurde. Hier ist FMX äußerst empfindlich, man kann sich hier schnell Probleme mit noch nicht richtig Initialisierten Objekten einfangen. Habe jetzt mit verschiedenen Aktionen sichergestellt, dass die Timer-Aktion erst stattfindet, wenn die Form einmal ganz angezeigt wurde. Problem ist nun verschwunden. Mal am Rande: Von diesem Problemchen (und anderen kleinen) mal abgesehen, macht es mir gerade Riesen-Freude mit Delphi 10 Seattle und FMX zu arbeiten (hatte bislang noch eher mit XE7 die "realen" Projekte bearbeitet). Hier sind Riesen-Performance-Verbesserungen (bei FMX) festzustellen, alles geht deutlich schneller... und die Delphi-IDE ist wirklich super... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz