Показать сообщение отдельно
  #1  
Старый 02.09.2011, 04:16
WennY WennY вне форума
Прохожий
 
Регистрация: 31.08.2011
Сообщения: 8
Репутация: 10
Печаль Путаница с типами для больших строк

Вот код:

Код:
program question;

uses
  windows,
  classes,
  idhttp,
  dialogs;

{ запрос кода страницы (indy 9) }
function GetUrl (URL : string) : string;
var
  idhttp1 : tidhttp;
begin
  idhttp1 := tidhttp.Create(nil);
  Result := 'test' + idhttp1.Get(URL);
end;

{ разделитель строк }
procedure Explode(var a: array of pchar; Border, S: string);
var
  S2: string;
  i: Integer;
begin
  i := 0;
  S2 := S + Border;
  repeat
    try
      a[i] := PChar( Copy(S2, 0, Pos(Border, S2) - 1) );
    except
    end;
    Delete(S2, 1, Length(a[i] + Border));
    Inc(i);
  until S2 = '';
end;

var
  A : array[0..1] of pchar;
begin

{ не вылетает }
{ Explode(A, 'test', GetUrl ( 'http://www.google.ru' ) ); }

{ вылетает =( }
Explode(A, 'test', GetUrl ( 'http://www.delphisources.ru/forum/' ) );

ShowMessage(A[1]);

end.

Суть в том, что при обработке слишком больших строк (это моя версия причины) вылезает violation read error. Вроде pchar, что я там недоглядел? Я чет встрял :\ Спасибо.
Ответить с цитированием