Где то в этом куске кода меняется OutFileName — первый раз MessageBox выводит то, что я предполагаю, а во второй раз какие-то непонятные символы. Чтобы это моглдо быть, и как от этого избавиться?
Re: Изменение переменной там где это не должно быть
SM>Где то в этом куске кода меняется OutFileName — первый раз MessageBox выводит то, что я предполагаю, а во второй раз какие-то непонятные символы. Чтобы это моглдо быть, и как от этого избавиться?
Ну во первых — пожалуйста обводи свой код тегом [code] — ну не железный я
Ну во вторых — нигде он тут у тебя не меняется, негде просто меняться! Может херит параллельный поток, а так всё впорядке. Приведи полный листинг.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
"Man feed machine
Machine feed man"
Peter Gabriel — OVO — The Tower That Ate People
Re[2]: Изменение переменной там где это не должно быть
S>Ну во первых — пожалуйста обводи свой код тегом [code] — ну не железный я S>Ну во вторых — нигде он тут у тебя не меняется, негде просто меняться! Может херит параллельный поток, а так всё впорядке. Приведи полный листинг.
Замечание учту. А вот поток у мен один, правда этот код компилится в DLL. может эта переменная где то в памяти меняется? хотя я напрямую в память я ничего не пишу и эта перемнная больше нигде не используется.. Есть ещё идеи?
Re: Изменение переменной там где это не должно быть
Здравствуйте, SmokerMan, Вы писали:
SM>Где то в этом куске кода меняется OutFileName — первый раз MessageBox выводит то, что я предполагаю, а во второй раз какие-то непонятные символы. Чтобы это моглдо быть, и как от этого избавиться?
OutFileName сделай const и посмотри где оно меняется, из кода непонятно. И что такое Temp1.
Здравствуйте, SmokerMan, Вы писали:
SM>Замечание учту. А вот поток у мен один, правда этот код компилится в DLL. может эта переменная где то в памяти меняется? хотя я напрямую в память я ничего не пишу и эта перемнная больше нигде не используется.. Есть ещё идеи?
У тебя может где-то массив вылезать за пределы и херить твою строку. Массивы используешь? Если да, преведи все операции с массивами до объявления своей строки.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
"Man feed machine
Machine feed man"
Peter Gabriel — OVO — The Tower That Ate People
Re[4]: Изменение переменной там где это не должно быть
SM> — эта строка и меняет OutFileName, но как Letter — вектор CString'ов?
SM>проблему решил через LockBuffer и UnlockBuffer, но ведь это не правильно.
Программа большая? Приведи листинг (если конечно не коммерческая тайна), просто тот кусок, что ты дал, и что ты написал, туман не развеяли...
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
"Man feed machine
Machine feed man"
Peter Gabriel — OVO — The Tower That Ate People
Re[6]: Изменение переменной там где это не должно быть
Тут создается временный объект потом ты получаешь указатель на внутренный буфер этого объекта. После чего объект разрушается. А то что ты упел воспользоваться этой строкой то это просто несчастный случай.
... << RSDN@Home 1.1.4 rev. 185 >>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[8]: Изменение переменной там где это не должно быть
Здравствуйте, WolfHound, Вы писали:
WH>Тут создается временный объект потом ты получаешь указатель на внутренный буфер этого объекта. После чего объект разрушается. А то что ты упел воспользоваться этой строкой то это просто несчастный случай.
Соответственно страности объясняются тем, что когда первый раз выводиться мессадж бокс память, на которую указатель указывает не затерается (везет), а потом она элементарно перезаписывается
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
"Man feed machine
Machine feed man"
Peter Gabriel — OVO — The Tower That Ate People