Допустим, есть такой код:
function MyPos(substr: string; str: PString): integer;
begin
result := Pos(substr, str^); //ошибка, если использовать второй вариант
end;
procedure TForm1.Button1Click(Sender: TObject);
var
str, str1: string;
begin
str := 'The best for Magellan';
str1 := Copy(str ,14, 8);
//первый вариант
ShowMessage(IntToStr(MyPos('a', @str1))); //так работает
//второй вариант
ShowMessage(IntToStr(MyPos('a', PString(Copy(str ,14, 8))))); //работает но, возникает ошибка в функции MyPos
end;
Хотелось, что бы второй вариант работал, не пришлось бы создавать переменную
str1.
Это можно как-то сделать?