Передача параметров в Delphi по ссылке или по значению/копии

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? Я не уверен в том, как я это делаю.

10
задан Vitim.us 8 September 2013 в 02:25
поделиться