Форум: "Основная";
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];
ВнизЛюди, ничего уже не понимаю! В чем провинилась ExtractFileName? Найти похожие ветки
← →
Aleksandr. (2004-12-09 15:54) [0]Я уже писал, что у меня программы в Делфи начали страдать непонятными проблемами с памятью, когда просто строчка s:=""; вызывает AV. Переставил Делфи, теперь AV вызывает строчка s:=ExtractFileName(s). Может, менеджер кучи навернулся в борландовских библиотеках? Я не проверял, удалились ли из виндовых папок его bpl при деинсталляции.
← →
Александр Иванов © (2004-12-09 15:59) [1]А до присваивания что творишь с S?
← →
Aleksandr. (2004-12-09 16:11) [2]
procedure Button1Click(Sender : TObject);
var
s : string;
begin
if SaveDialog1.Execute then begin
s:=SaveDialog1.FileName;
s:=BaseDir+ExtractFileName(s);
ShowMessage(s)
end
end;
чисто тестовая такая хренотень. Ровно после пяти кликов по буттону (по очереди выбираются файлы из папки, ровно на пятом файле), возникает AV. Всегда. Даже если трешь проект и делаешь новый без вклеиваний. Причем Local Variables после присвоения файла из диалога показывает не имя файла диалога правильное, а имя в s - предыдущее.
← →
Aleksandr. (2004-12-09 16:13) [3]Да, кстати о птичках. При закрытии Делфи после такого AV она выдает такое белое окошко без заголовка с текстом той же самой ошибки.
← →
Александр Иванов © (2004-12-09 16:16) [4]смотри в настройках, может там чего изменил.
← →
Александр Иванов © (2004-12-09 16:20) [5]И Дельфи можешь переустановить попробовать.
← →
Aleksandr. (2004-12-09 16:59) [6]Попробую истчо раз... Вообще, там с самого начала какие-то напряги начинаются. Например, после установки RXLib при создании нового Console Application вылетает ошибка AV в одной из борландовских библиотек.
← →
bulanov (2004-12-09 20:08) [7]Не используй всякую хренотень типа RX, JEDI или подобную туфту, потрать на час больше времени, но напиши свое и проблем с AV не будет.
И не надо писать, что я не прав!
← →
Zacho © (2004-12-09 20:24) [8]bulanov (09.12.04 20:08) [7]
И не надо писать, что я не прав!
А можно напишу ? :)
Когда-то давно использовал RX. AV не было.
Сейчас использую "туфту" типа EhLib, FreeReport и т.д. AV нет.
Выводы ? :)
А вообще ты прав в одном: если проблемы начинаются после установки чего-то - то и проблема, скорее всего в этом чём-то :)
← →
Гаврила © (2004-12-09 20:57) [9]Был тут недавно такой случай
загрузили стороннюю DLL, написанную суперпуперкулпрограммерами
(без исходников)
так после этого начался AV на строке SaveDialog1.Execute;
причем в пустом проекте
причем после просто "LoadLibrary" безо всяких дополнительных вызовов
вывод - не пускайте кого попало в свое адресное пространство:-)
← →
Anatoly Podgoretsky © (2004-12-09 21:39) [10]Глобальная переменная BaseDir, с ней может быть непорядок. Или проблема связана не с этим кодом.
← →
Игорь Шевченко © (2004-12-09 21:59) [11]bulanov (09.12.04 20:08) [7]
> Не используй всякую хренотень типа RX, JEDI или подобную
> туфту, потрать на час больше времени, но напиши свое и проблем
> с AV не будет.
Будут проблемы. И с AV тоже. Причем, проблем будет гораздо больше, чем при RX, Jedi и т.п.
По той простой причине, что эти библиотеки протестированы гораздо большим количеством пользователей, чем самописное "свое", написанное за час.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.039 c