Witam! Tworzę program do pobierania linków ze strony, używam WebBrowsera jako komponentu do wyświetlania stron. Wszystko idzie dobrze, tylko jest jeden kłopot. Robię pętlę która zapisuje linki po kolei do tablicy i wyświetla w RichEdit (Link: array[1..160] of String;):
for i := 1 to 160 do
begin
Link[i] := WebBrowserChom.OleObject.Document.Links.Item(i).href;
RichEditTekst.Lines.Add(Link[i]);
end;
Problem pojawia się właśnie gdy zaczyna się wykonywanie pętli. Wyświetla się komunikat:
Project CHRMultiSender.exe raised exception class EAccessViolation with message 'Access violation at address 0045A84B in module 'CHRMultiSender.exe'. Read of address 00000000'. Process stopped. Use Step or Run to continue.
I debugger zaznacza mi w kodzie linię Link[i] := WebBrowserChom.OleObject.Document.Links.Item(i).href; Co ciekawe, jeszcze wczoraj kiedy miałem odliczanie od 1 do 160 działało mi, a teraz mam ten bład. A dzisiaj, kiedy zmienię na odliczanie do 150 to błędu nie wyświetla i wypisuje mi normalnie linki do RichEdita. Co to może być, i jak się tego pozbyć? Ten kod znajduje się w procedurze WebBrowsera OnDocumentComplete.