Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.26;
Скачать: CL | DM;

Вниз

Люди, ничего уже не понимаю! В чем провинилась 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.042 c
14-1102275140
Некто
2004-12-05 22:32
2004.12.26
C++


14-1102431862
savva
2004-12-07 18:04
2004.12.26
OFFTOPIC: Пути Суприма неисповедимы:)


14-1102238894
VictorT
2004-12-05 12:28
2004.12.26
Безвозмездно дарю идею для этого форума и для создателей других


1-1102916467
Sicwell
2004-12-13 08:41
2004.12.26
Создать поток в DLL


14-1102134213
Думкин
2004-12-04 07:23
2004.12.26
С днем рождения! 4 декабря