|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.06.2008, 15:31 | #1 |
Форумчанин
Регистрация: 23.09.2007
Сообщений: 147
|
Директивы компиляции
Пишу на Delphi 7, однажды, зайдя в свой проект, обнаружил вот такой списочек директив компиляции
Код:
Передаваемая в процедуру Код:
ее выполнения совпадал с передаваемым значением после этого я написал так Код:
в функцию, после функции менялись обе:и буфер и оригинал вот так Код:
Добавил переменную-буфер в самих процедурах, то же самое Такое впечатление, что операция присвоения одной строки другой - это все равно что наложение адресов. только после замены Код:
Код:
Отсюда вопрос: в чем дело? В директивах компиляции или это где-то в опциях дельфы настраивается?! P.S. строки типа string в Ansi кодировке
Я надеваю тапочки, ищу чем похмелиться, ах, если я сейчас умру, то на... я родился
|
09.06.2008, 16:27 | #2 | |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
Цитата:
Код:
S1[3] := 'A' приводит к тому, что компилятор добавляет в код вызов UniqueString() Поэтому проблем не возникает. |
|
10.06.2008, 04:20 | #3 |
Форумчанин
Регистрация: 23.09.2007
Сообщений: 147
|
интересные у дельфы методы оптимизации работы со строками, это типа шоб меньше памяти занимать пока у строк одинаковое значение
А в последующих версиях дельф тоже такая тема?
Я надеваю тапочки, ищу чем похмелиться, ах, если я сейчас умру, то на... я родился
|
10.06.2008, 09:41 | #4 | |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
Цитата:
Кроме того, есть же еще: ShortString array of char PChar ... С этими типами таких проблем не возникнет ..... будут другие |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Warning при компиляции... | nighthack | Общие вопросы C/C++ | 3 | 06.06.2008 00:46 |
Ошибка при компиляции | [QY]'~''LeK1[ee] | Помощь студентам | 2 | 28.05.2008 20:46 |
Директивы препроцессора в С++ | alef | Общие вопросы C/C++ | 1 | 25.04.2008 01:36 |
директивы в MASM - INVOKE, PROTO, LOCAL | fermat_c | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 3 | 05.04.2008 18:25 |
Ошибка при компиляции | zak | Общие вопросы C/C++ | 2 | 11.12.2007 18:24 |