169 похожих чатов

Привет, нужен совет старших товарищей. Есть глобальная переменная var DefaultDataFolder:string;


инициализируем
DefaultDataFolder:='a:\_OUT\';

есть примитивная процедура класса

procedure TNeoSocket.SetDataFolder(const Value:String);
begin
FDataFolder:=IncludeTrailingPathDelimiter(Value);
end;


в произвольной процедуре вызываем

SetDataFolder(DefaultDataFolder)

и в дебагере видим, что Value='', то есть значение глобальной переменной в функцию не передаётся

если вызвать SetDataFolder('a:\_OUT\') - всё штатно

если в этой произвольной процедуре описать локальную переменную

var
shit:string;
присвоить ей значение глобальной переменной

shit:=DefaultDataFolder;

и вызвать процедуру класса

SetDataFolder(shit) - снова всё штатно.

Спрошу цензурно - почему так???

14 ответов

85 просмотров

А зачем локальную константу присваивать глобальной? FDataFolder? Оно и не должно работать

2 варианта Либо дефотное значение не проинициализировано Либо отладчик глючит, и там, где есть значение - показывает пусто Попробуй вывести значение в консоль или Memo

Max-Otto Автор вопроса
meh
А зачем локальную константу присваивать глобальной...

читай текст. дословно, по буквам. не фантазтруй

Max-Otto Автор вопроса
Dmitry Mozulyov
2 варианта Либо дефотное значение не проинициализ...

хрен там. в дебагере я вижу вызов процедуры с правильным параметром. следующий шаг отладки, я внутри процедуры, но передаваемый параметр - пустой. чёзанах?

Max Otto
хрен там. в дебагере я вижу вызов процедуры с прав...

Выложи проект сюда. Тебя тыкнут носом за пару минут )

Max Otto
читай текст. дословно, по буквам. не фантазтруй

Описание куцое, тут только домыслы

Max-Otto Автор вопроса
Dmitry Mozulyov
Выложи проект сюда. Тебя тыкнут носом за пару мину...

то есть в двух проектах один и тот же код по-разному работает, в одном работает, во втором сиськи мнёт?

Max Otto
то есть в двух проектах один и тот же код по-разно...

Да никто тебе так не скажет. Телепатов нет )

Max-Otto Автор вопроса
Max Otto
збс, иного и не ожидал

Сделай простой проектик, скопируй туда эту переменную и эту процедуру и дай посмотреть

Max Otto
збс, иного и не ожидал

Ну или 3 вариант - ты нашел багу кампелятора!

Max-Otto Автор вопроса
Max Otto
ну вот и я о том же

Это вероятно, но вероятность этого мала ) Сделай минимальный проект и выложи, коли это действительно так - зарепортят

Max Otto
ну вот и я о том же

Это сильное заявление, но нам нужны пруфы

Похожие вопросы

Обсуждают сегодня

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
что насчет пагинга? на осдеве непонятно(
Vi Chapmann 🪙
26
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
64
Ребят, что лучше для реверса: гидра или ида?
En Vind Av Sorg
26
Делаю велосипед логгер. К сообщению хочу прикрутить некоторую информацию, типа, кем отправлено, какой уровень, и всякое такое. И тут подумалось мне, почему бы не хранить весь...
Serjone
24
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
48
Продолжая диалог про свифт в проде – сейчас возник вопрос в активном наборе бекендеров. В основном в нашей компании мы фанаты Java Spring и полностью ей довольны. Однако найм ...
Guseyn
27
если загрузчик efi? если сама PML4 PDPT PDT PT лежит в неудобном для меня месте?
Vi Chapmann 🪙
8
Читаю сейчас [нет, уже больше не читаю!] курсовую о Булгакове, написанную, похоже, с помощью ChatGPT. Это удивительный психоделический опыт. Текст в основном написан в стиле б...
✨ Uni [🌊 В отпуске]
1
Карта сайта