Context 1
var text:String;
text:='hello';
myFunc(text);
Context2
function myFunc(mytext:String);
var textcopy:String;
begin
textcopy:=mytext;
end;
myFunc
в Context2 была вызвана из Context1, локальная переменная mytext
указывает на память вне контекста2? или mytext
имеют собственное пространство памяти внутри области видимости и заполнены/скопированы тем же содержимым, что и text
? Вероятно, я упускаю что-то очень простое, потому что получаю ошибку нарушение прав доступа
.
Есть ли какой-нибудь способ явно указать, должна ли функция получать параметры по ссылке или по значению, копируя затем, как в C? Я не уверен в том, как я это делаю.