![]() |
ListView.FindCaption löst AV aus
Hallo,
wenn ich folgenden Code verwende:
Delphi-Quellcode:
Bekomme ich eine AV. Das versteh ich nicht.
LVResults.FindCaption(0,Edit1.Text,false,true,false);
LVResults enthält Items und in Edit1 steht was drin. ViewStyle ist auf vsReport. Gruß Sascha |
Re: ListView.FindCaption löst AV aus
Hi,
Wo (also in welcher Zeile der VCL) geschiet denn die Exception, wenn Du mal mit der Option "Debug DCUs" kompilierst? Ansonsten musst Du mal schauen, ob Edit1 = nil oder ob LVResults = nil ist. mfG mirage228 |
Re: ListView.FindCaption löst AV aus
Die AV kommt hier:
Delphi-Quellcode:
function TListItem.GetIndex: Integer;
begin if Owner.Owner.OwnerData then // hier bleibt er stehen Result := FIndex else Result := Owner.IndexOf(Self); end; Wie gesagt in der ListView und im Edit-Feld steht defintiv etwas drin, schließlich seh ich das ja und arbeite mit den Daten auch an anderen Stellen. Ich habe aber nirgendwo Code, der FindCaption beinflussen könnte. :( |
Re: ListView.FindCaption löst AV aus
ok hab den Fehler teilweise gefunden.
Ich musste Partial auf true setzten, da ich z.B. im Edit-Feld nur "T" schreibe, um dann "Test" zu finden. Aber müsste er nicht, wenn er nichts findet die Funktion dennoch ohne Probleme ausführen? D.h. dass dann einfach nur das zurückgelieferte Item = nil ist? edit: hm, wenn ich nun trotz partial einen buchstaben eingebe, wo er nichts findet, kommt auch eine AV, das kann doch nicht angehen! |
Re: ListView.FindCaption löst AV aus
Zeig doch mal den kompletten Code bei deiner Suche. Eventuell knallt er ja garnicht beim FindCaption sondern später, da FindCaption doch nil zurück gibt. Hast du dir das schonmal genauer im Debugger angeschaut?
|
Re: ListView.FindCaption löst AV aus
Hi
Also ich habe die Funktion getestet und es funzte wie es soll.
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var li: TListItem; begin li := LV.FindCaption(0, Edit1.Text, false, True, False); if li <> nil then begin LV.Selected := li; li.MakeVisible(True); LV.SetFocus; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:14 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