
02.09.2011, 04:16
|
Прохожий
|
|
Регистрация: 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, что я там недоглядел?  Я чет встрял :\ Спасибо.
Последний раз редактировалось WennY, 02.09.2011 в 04:26.
|