Re[2]: Встроенный asm: запись данных в память по заданному а
От: Аноним  
Дата: 05.11.05 19:38
Оценка:
Здравствуйте, _Michael_V_, Вы писали:

_M_> p:='ABCDEFG';


_M_>И дело здесь не в ассемблере. Можно просто попытаться сделать что-то вроде p[0]:='A' внутри JustTest. Получится то же самое. Присваивание не проходит, если p задана присваиванием константы.


_M_>Я думал, что память выделяется аналогично в обоих случаях. Это не так? Если сделать p:='ABCDEF', то p станет указателем на константу что ли, и запись в нее чем-то пресекается?



Это действительно так. Константы хранятся с сегменте кода, который защищён от записи.
Решением является использование вместо pchar просто string.
Тогда при присваивании происходит выделение памяти и копирование.
Надо только не забывать, что перед присваиванием переменная должна быть инициализирована.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.